我有一个Sails 1.0.2应用程序,它在Ubuntu 18.04.1 LTS实例上运行。此外,反向代理(Apache)将HTTPS(443)请求从公共端重定向到我指定的Sails端口(在我的情况下为4433)。
当我使用sails lift --port=4433
提起应用程序时,此方法工作正常,CLI指出该应用程序正在侦听端口4433-当我通过https(/:443)从外部访问我的应用程序时,可以看到我的应用程式。
根据Sails文档,我在env/production.js
中设置了生产环境,并尝试通过node app.js --prod
部署应用程序。到目前为止,至少在CLI声明下,该应用程序还在侦听端口4433(与之前一样)也有效。有一个警告:If your app is behind a proxy or load balancer [...], you may also need to set sails.config.http.trustProxy to true.
。好吧,我做到了-进行了三重检查,production.js
文件的trustProxy未注释/设置为true。
最终,当我使用--prod
部署了sails应用程序后尝试访问该网站时,我的浏览器出现了too many redirects
错误。
所以我的问题是,为什么在我的production.js中忽略sails.config.http.trustProxy
标志-还是不是问题的原因?
答案 0 :(得分:1)
发现了问题,以备将来参考:在staging
和production
环境中,sails hooks / custom.js hook根据其子域转发GET请求。就我而言,这没有用,因为我没有www.myapp.com
网域,而是类似myapp.department.university.edu.com
的域名。
通过取消注释此转发规则https://api.highcharts.com/highcharts/series.column.enableMouseTracking,现在一切正常。
因此http.trustProxy
标志与该问题完全无关。