我有一个非常奇怪的情况,NGINX(用作节点应用程序的代理)在使用https://domain.com 时将所有?_escaped_fragment_ =重定向到root(/)?_ escaped_fragment _ = / app / someurl但是当我使用https://dev.domain.com?_escaped_fragment_=/app/someurl时,一切正常。
只是想清楚地表明prerenderer运行良好,我已经在机器上直接测试了它,也使用了dev子域。
我可以为那些想要检查现场的人提供原始网址。
感谢一百万人:)
server {
server_name domain.com www.domain.com;
listen 80;
return 301 https://domain.com$request_uri;
}
server {
server_name domain.com;
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/***.crt;
ssl_certificate_key /etc/nginx/ssl/***.key;
location / {
proxy_pass http://x.x.x.x:4567;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
server {
server_name dev.domain.com;
location / {
proxy_pass http://x.x.x.x:4567;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
答案 0 :(得分:0)
对于那些有类似经历的人,也许还有apache请注意,它不是NGINX,而是需要指定prerender中间件的应用程序.set('protocol','https'));
协议
硬件设置协议的选项。适用于可用的网站 在http和https上。
app.use(require('prerender-node').set('protocol', 'https'));