将爬虫重定向到内部服务
Redirecting Crawler to internal service
我想设置 nginx 让某些爬虫从端口 9998 上的内部服务 运行 获取数据。
因此,例如,当浏览器请求 www.mywebsite.com/resource/1 时,它会查看根文件夹,但当爬虫(例如 FB 爬虫)请求相同的资源时,它应该获取服务返回的页面 127.0.0.1:9998/resource/1.
这是我想出的配置,但没有按预期工作。正确识别了用户代理,但没有从服务中获取数据。
location / {
if ($http_user_agent ~ Facebot) {
proxy_pass http://127.0.0.1:9998;
}
root /etc/www/website;
try_files $uri /index.html;
... other stuff...
}
在proxy_pass
后加一个break
。
location / {
if ($http_user_agent ~ Facebot) {
proxy_pass http://127.0.0.1:9998;
break;
}
root /etc/www/website;
try_files $uri /index.html;
... other stuff...
}
我想设置 nginx 让某些爬虫从端口 9998 上的内部服务 运行 获取数据。
因此,例如,当浏览器请求 www.mywebsite.com/resource/1 时,它会查看根文件夹,但当爬虫(例如 FB 爬虫)请求相同的资源时,它应该获取服务返回的页面 127.0.0.1:9998/resource/1.
这是我想出的配置,但没有按预期工作。正确识别了用户代理,但没有从服务中获取数据。
location / {
if ($http_user_agent ~ Facebot) {
proxy_pass http://127.0.0.1:9998;
}
root /etc/www/website;
try_files $uri /index.html;
... other stuff...
}
在proxy_pass
后加一个break
。
location / {
if ($http_user_agent ~ Facebot) {
proxy_pass http://127.0.0.1:9998;
break;
}
root /etc/www/website;
try_files $uri /index.html;
... other stuff...
}