我在运行Nginx的应用程序中包含prerender时遇到问题,我已经定义了一个简单的规则,用于将所有http请求重写为https,但是预渲染在运行GoDaddy证书的https上有一些问题,它会缓存页面但内容为空.
我在http上测试了它并且工作正常,我现在正在尝试的是,如果我的http_user_agent是Prerender,我想保持http url完好无损,否则将URL重写为https.
欢迎任何帮助/意见/建议.
最佳答案
与prerender处理https重定向有同样的问题.
在我们的例子中,快速解决方案是在prerender-node配置中强制使用https协议(我假设任何其他中间件都应该存在这样的选项).
原文链接:https://www.f2er.com/nginx/434442.html在我们的例子中,快速解决方案是在prerender-node配置中强制使用https协议(我假设任何其他中间件都应该存在这样的选项).
var prerender = require('prerender-node');
prerender.protocol = 'https';
但毕竟它似乎是由Nginx配置错误引起的,它不传递x-forwarded-proto头,因为否则它应该由中间件https://github.com/prerender/prerender-node/blob/master/index.js#L235-L237自动处理