我听说浏览器(Chrome和Firefox)将不再支持http请求(只允许**https://**请求)。Firefox在几年前的文章Deprecating Non-Secure HTTP中宣布了它
在Security Now SN-909播客中也提到了这一点:
如果浏览器接收到不安全的HTTP链接,HSTS状态指示浏览器自动将其升级到HTTPS,而无需询问其他任何人。
我正在开发一个应用程序,该应用程序是在http端口(而不是https)上提供的。我的chromium-browser
(在AWS Linux上)拒绝提供页面。我使用Chromium Version 112.0.5615.165 (Official Build) (64-bit)
页面说:
This site can’t provide a secure connection localhost sent an invalid response.
ERR_SSL_PROTOCOL_ERROR
我输入了URL:http://localhost:4000
和chromium-browser
已经将URL从我输入的更改为https://localhost:4000
,这就是失败的原因。
下面是浏览器x1c 0d1x的图像
需要说明的是,我在浏览器的URL中输入了http://localhost:4000
,它被(浏览器)更改为https://localhost:4000
。
虽然我完全理解为什么会发生这种情况,但我的问题是我(作为开发测试的开发人员)如何在我的应用程序中使用http。
对于那些可能认为永远不应该这样做的人,请意识到使用Kubernetes时的常见模式是让NGINX终止SSL连接并与目标应用程序建立HTTP连接。
下图突出显示了如何在Kubernetes中在http(而不是https端点)上托管应用程序。如果/当使用相互身份验证时,HTTP报头用于传递客户端证书信息。
我的问题是,如何配置Chromium,以便在访问我的网站时允许http://
。
我已经看到了许多方法来配置Firefox和Chrome来解决内置的默认设置,所以我要求更改此默认设置。
我搜索了**如何在Chrome中启用http?**但只给出了如何只允许https的答案。
我应该补充的是,我已经使用curl
来验证服务器正在侦听所需的端口,并且使用http的连接性不是问题。比如说
curl http://localhost:4000/
效果很好。
2条答案
按热度按时间eqoofvh91#
这是您的应用程序的问题。Chrome是无辜的。
a0zr77ik2#
我很抱歉,网络服务器发送了一个307重定向到
https://
URL,所以这都是我做的。 chrome 根本不是问题所在。我很想删掉这个问题...