问题标签 [hsts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
29354 浏览

google-chrome - 如何为子域永久禁用 Chrome HSTS

我有以下设置:

该应用程序https://app.domain.de是我们的生产环境,并自动转发以使用 HTTPS。在这里一切正常。最重要的是,我们的 QA 团队有几个开发版本的应用程序可以通过http://develop.app.domain.de(这里不需要 HTTPS)访问。

问题从这里开始:只要我访问https://app.domain.deChrome(我猜还有其他浏览器),就将http://develop.app.domain.de(无 HTTPS)转发到https://develop.app.domain.de(HTTPS)。我当然可以禁用 HSTS 并清除该域的缓存并且http://develop.app.domain.de可以工作,但只有在我https://app.domain.de再次访问之前。

我无法为我们的开发环境启用 HTTPS,因为您需要在 Heroku 中至少有一个爱好计划才能这样做,因此这对于我们所有的应用程序开发和测试环境来说都是浪费金钱。我还想保留 url 架构。

所以我的问题是如何永久禁用这种讨厌的转发(HSTS)?

0 投票
4 回答
6102 浏览

.htaccess - 警告:HTTP 上不必要的 HSTS 标头

我想使用https :// 和非 www。网址总是。所以我在我的 htaccess 文件中使用了以下代码。但是我收到了来自https://hstspreload.org的警告

警告信息如下:

警告: HTTP 上不必要的 HSTS 标头http://mysiteurl.com
上的 HTTP 页面发送一个 HSTS 标头。这对 HTTP 没有影响,应该被删除。

请帮助我摆脱上述警告。我也尝试使用以下代码,但它不起作用#ref。话题

0 投票
1 回答
286 浏览

google-chrome - 如果 http 重定向到 https,是否会触发重定向,如果 HSTS 正在使用中?

由于网站切换到 HTTPS,因此 Googlebot 应该在抓取链接上进行双重抓取 - 因为有额外的跃点,从 HTTP 重定向到 HTTPS。它应该是相当大的计算能力,这是需要的。

我在想,Googlebot 是否确实实现了双倍的努力,或者它是否有任何提示可以识别 HTTPS 并直接访问它而不触发重定向以节省额外的跃点?

  • 如果 HSTS 调整正确,那么从 HTTP 到 HTTPS 的重定向不会被触发并且流量直接到 HTTPS 是否正确?
  • 会不会是可能是无头 Chrome 的 Googlebot 有线索/提示可以识别 HTTP 后面的 HTTPS 以直接转到 HTTPS?
0 投票
1 回答
5461 浏览

iis - 如果无法访问 web.config 文件,可以在 IIS7 管理器的“HTTP 响应标头”模块中添加自定义响应标头吗?

我正在尝试插入自定义响应标头以符合启用 HSTS 的要求,因为当前布局面临我们的网络安全审计的风险。

我将这个先前的 StackOverflow 线程引用为“最佳答案”建议使用 IIS7 管理器界面设置自定义响应标头,而第二个“最佳答案”将进入web.config文件并将代码复制并粘贴到其中。

我尝试按照使用此链接的说明进行访问,但我没有走远,因为我在第 3 步中没有EFTAdHoc子文件夹Default Web Site

我很好奇如果我以这种方式设置自定义响应标头是否仍然可以:

在此处输入图像描述

0 投票
1 回答
237 浏览

security - 启用 HSTS 后是否可以从非安全连接重定向到安全连接?

我最近开始在我的一个网站上提供“strict-transport-security”标头。我没有预料到的一个问题是我的 SSL 证书仅涵盖 mydomain.com,因此如果用户访问 www.mydomain.com,而不是被重定向(就像以前发生的那样),他们会看到浏览器出现安全错误由于新标头不允许所有非 https 通信。

由于各种原因,我正在使用多域证书,因此不能简单地购买添加了“www”的新证书。

我理解为什么这是预期的行为,但是我想知道是否无论如何我都可以将 www 重定向到非 www,尽管 www 在 www 域上没有有效证书?

如果有什么不同,我的服务器正在运行 Ubuntu。

0 投票
2 回答
542 浏览

ssl - HSTS:当我没有子域时使用 includeSubdomains

这个问题几乎就在标题本身。如果我有一个应用程序并includeSubdomains用于 HSTS 标头但根本没有子域,这被认为是好还是坏?

0 投票
1 回答
10210 浏览

http - 我应该为后端 API 使用 Content-Security-Policy HTTP 标头吗?

我们正在后端 API 上实现 HSTS,我偶然发现了内容安全策略 (CSP) 标头。此标头告诉浏览器可以从哪里下载图像、视频、样式表、脚本等资源。

由于后端 API 不会真正在浏览器中显示内容,那么设置此标头有什么价值?

0 投票
1 回答
7075 浏览

php - 如何在我的网站中实施 HSTS

我有一个网站(来自 godaddy 的域并托管在 hostgator 中)。当我手动更新证书时,我可以将我的网站重定向到 https,但它总是从谷歌搜索转到 http。在线搜索后,我知道考虑Strict-Transport-Security: max-age=15768000作为curl -i -L目标域的结果将满足我的需要,因为它将强制浏览器以 https 打开网站。但我对如何在我的网站上实现这一点感到困惑。

谁可以帮我这个事 ?

0 投票
3 回答
12590 浏览

apache - 防止http页面重定向到https页面

我有一个网站(userbob.com),通常将所有页面作为 https 提供。但是,我试图让一个子目录 (userbob.com/tools/) 始终以 http 形式提供内容。目前,Chrome 的 HSTS 功能(我不明白它是如何工作的)似乎正在强制我的网站页面通过 https 加载。我可以转到 chrome://net-internals/#hsts 并从 Chrome 的 HSTS 集中删除我的域,下一个查询将按我的意愿工作,而无需重定向到 https 版本。但是,如果我再次尝试加载页面,它最终会再次重定向。我可以让它工作的唯一方法是,如果我去 chrome://net-internals/#hsts 并在每次请求后从 Chrome 的 HSTS 集中删除我的域。如何让浏览器知道我希望来自 userbob.com/tools/ 的所有页面都加载为 http?我的网站使用 apache/tomcat 网络服务器。

(仅供参考,我希望工具目录中的页面通过 http 而不是 https 提供页面的原因是因为其中一些用于 iframe http 页面。如果我尝试从 https 页面 iframe 构建 http 页面,我最终会得到混合内容错误。)

0 投票
0 回答
783 浏览

ssl - Jetty Web 服务器升级后如何解决 SSL 版本\密码不匹配错误?

我将应用程序中的 Jetty 服务器版本9.3.6.v201511069.4.6.v20170531. 这样做是为了获得HSTS 支持和其他可能的改进。

但是,在我进行更改后,我无法启动我的应用程序的 UI,并且我在 chrome (60.0.3112.113) 中收到错误“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”,而在 Firefox(55.0.3(32 位)中收到“SSL_ERROR_NO_CYPHER_OVERLAP”错误。

在 Internet Explorer (11.0.9600.18697) 中,它可以正确启动!

关于 Jetty Server 升级以使其适用于所有浏览器,我缺少什么?

更新

我检查了类的调试输出,org.eclipse.jetty.util.ssl.SslContextFactory它很大。这是摘要:

它选择TLS 1.2了两个 Jetty 版本。它TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA使用 Jetty9.3.6版本进行选择,而使用 Jetty 时,9.4.6它的选择减少到TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256. 这很奇怪,因为我们使用两个 Jetty 版本的 setter 方法设置了所有四个密码。

为什么拒绝设置另外两个?