我有一个在nginx反向代理后面的服务器上运行的node.js应用程序。 Nginx设置为处理HTTP和HTTPS并将两者转发到同一个node.js应用程序。 node.js应用程序是否可以确定请求是来自http还是https?
此外,客户端的JS是否可以确定它是在http还是https?
编辑:为客户端找到了一个解决方案:
if (window.location.protocol != "https:")
还有比这更好的方法吗?
答案 0 :(得分:3)
只需将自定义标头从nginx添加到节点即可 通常它是
proxy_set_header X-Forwarded-Proto $scheme;
并在节点中显示在request.headers['x-forwarded-proto']
。
参考文献: