Google chrome 不安全的表单和代理服务器?
我有一个用ApacheTomcat8.5编写的web应用程序,它在NGINX后面代理。i、 e.我正在使用NGINX卸载SSL并提供静态图像等服务。该应用程序已经可靠运行多年 现在,Chrome87更新在每次提交表单时都会发出警告“您将要提交的信息不安全”。我已经仔细检查了代码,我不知道是什么触发了它 用户通过https访问NGINX,并且证书有效。NGINX将请求转发到端口8080上的Tomcat。请参阅下面的配置 表单作为HTTP在tomcat服务器上提交。但是NGINX应该防止浏览器知道这一点。据浏览器所知,它是https 所有标记都作为相对链接写入或暗示为同一URL。例如Google chrome 不安全的表单和代理服务器?,google-chrome,nginx,tomcat,https,nginx-reverse-proxy,Google Chrome,Nginx,Tomcat,Https,Nginx Reverse Proxy,我有一个用ApacheTomcat8.5编写的web应用程序,它在NGINX后面代理。i、 e.我正在使用NGINX卸载SSL并提供静态图像等服务。该应用程序已经可靠运行多年 现在,Chrome87更新在每次提交表单时都会发出警告“您将要提交的信息不安全”。我已经仔细检查了代码,我不知道是什么触发了它 用户通过https访问NGINX,并且证书有效。NGINX将请求转发到端口8080上的Tomcat。请参阅下面的配置 表单作为HTTP在tomcat服务器上提交。但是NGINX应该防止浏览器知道这
或
谁能指出要找的东西吗?我是不是缺了头球什么的
提前谢谢
从NGINX conf.d/site.conf:
location ~ \.(do|jsp)$ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
似乎有一种方法可以为混合形式提供警告,所以这可能就是出现这些错误的原因
也许您的应用程序中有一些游离的绝对链接仍然是http,并且在被nginx代理时不会被自动转换
如果您确定所有内容都是通过https提供的,您可以尝试启用此标题内容安全策略:升级不安全的请求(),以强制浏览器自动升级不安全的连接。似乎有一种方法可以对混合表单发出警告,因此可能就是出现这些错误的原因
也许您的应用程序中有一些游离的绝对链接仍然是http,并且在被nginx代理时不会被自动转换
如果您确定所有内容都是通过https提供的,您可以尝试启用此标题内容安全策略:升级不安全的请求(),以强制浏览器自动升级不安全的连接。也有类似问题,在我的情况下,我的应用服务器的响应是重定向到不同的方案(http)而不是客户端使用的(https)
如果这也是您的情况,那么将其添加到您的位置
定义中就可以了。假设您的应用程序/应用程序服务器尊重此标头,那么它应该在位置标头上使用适当的方案(https)进行响应
proxy_set_header X-Forwarded-Proto $scheme;
为完整起见,摘录如下:
X-Forwarded-Proto(XFP)头是一个事实上的标准头,用于标识客户端用于连接到代理或负载平衡器的协议(HTTP或HTTPS)
有一个类似的问题,在我的例子中,我的应用服务器的响应是重定向到一个不同的方案(http),而不是客户端使用的方案(https)
如果这也是您的情况,那么将其添加到您的位置
定义中就可以了。假设您的应用程序/应用程序服务器尊重此标头,那么它应该在位置标头上使用适当的方案(https)进行响应
proxy_set_header X-Forwarded-Proto $scheme;
为完整起见,摘录如下:
X-Forwarded-Proto(XFP)头是一个事实上的标准头,用于标识客户端用于连接到代理或负载平衡器的协议(HTTP或HTTPS)
我尝试过这个解决方案,也尝试过这个解决方案,但它们似乎无法解决问题。看起来登录后的重定向被认为是不安全的,但我仍然不知道为什么他们使用的是https。我也尝试过Django文档中的说明,但也没有效果:我认为http重定向被认为是不安全的,我在我的PHP应用程序中也注意到了这个问题。我不得不用$\u SERVER['https']='on'“欺骗”PHP返回https URL
是否可以添加一个中间件来将http重定向转换为https?我尝试过这个解决方案,也尝试过这个解决方案,但它们似乎无法解决问题。看起来登录后的重定向被认为是不安全的,但我仍然不知道为什么他们使用的是https。我也尝试过Django文档中的说明,但也没有效果:我认为http重定向被认为是不安全的,我在我的PHP应用程序中也注意到了这个问题。我不得不用$\u SERVER['https']='on'“欺骗”PHP返回https URL
是否可以添加一个中间件来将http重定向转换为https?同样的问题是,在Traefik后面运行的symfony应用程序作为反向代理。已尝试将X-Forwarded-Proto https
和内容安全策略:升级nginx config中的不安全请求
,但均无效…仍在尝试找出解决方案查看web应用程序生成的HTML。这里所有的链接和都是同一个问题,在Traefik后面运行一个symfony应用程序作为反向代理。已尝试将X-Forwarded-Proto https
和内容安全策略:升级nginx config中的不安全请求
,但均无效…仍在尝试找出解决方案查看web应用程序生成的HTML。所有的链接和