标签: hsts

是否有任何理由不在网站上强制执行 HTTPS?

我经常访问的一个网站终于决定在他们的服务器上启用 TLS,只是不像很多网站那样强制要求它。维护者声称 TLS必须是可选的。为什么?

在我自己的网站上,我长期设置了强制 TLS 和 HSTS,并且禁用了较弱的密码套件。明文访问保证被 TLS 保护版本的 HTTP 301 隔离。这会对我的网站产生负面影响吗?

ssl hsts

49
推荐指数
5
解决办法
1万
查看次数

来自 S3 源的 Amazon CloudFront 上的 HSTS

是否可以在来自 S3 源的 Amazon CloudFront 分配上设置 HSTS 标头?

ssl amazon-cloudfront hsts

13
推荐指数
3
解决办法
1万
查看次数

主端口 80 上的 hsts,而不是其他端口

我在网站http://server.mydom.tld:80上为我的域设置了 hsts ,因此浏览器转到端口 443 上的端口https://server.mydom.tld

但是,我还有其他网络服务器,在其他端口上运行。因此,当我访问http://server.mydom.tld:8888 时,它会被转发到https://server.mydom.tld:8888,但该服务器不运行 https,因此请求失败。

那是根据规范吗?

我注意到我没有在http://mydom.tldhttp://www.mydom.tld上运行 hsts ,这可能是一个错误。

该怎么办?

hsts

10
推荐指数
1
解决办法
3306
查看次数

HSTS 和双重重定向

我在共享主机 LAMP 环境中管理一个小网站:这基本上意味着我唯一可以编辑的是 htaccess 文件。

我想添加 HSTS 支持(我做到了),但是,当我在这里测试我的网站是否符合 HSTS 预加载资格时,出现以下错误:

错误:HTTP 首先重定向到 www

http://example(HTTP)https://example在添加 www 子域之前应立即重定向到(HTTPS)。现在,第一个重定向是到https://www.example.需要额外的重定向以确保任何支持 HSTS 的浏览器都会记录顶级域的 HSTS 条目,而不仅仅是子域。

所以,我想我应该这样重定向用户:

  1. http://example (这是用户在浏览器地址栏中输入的内容)
  2. https://example (我们将他重定向到该网站的 HTTPS 版本)
  3. https://www.example (我们再次将他重定向到子域 www)

我目前的重定向是这样完成的:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)

我试图在最后一行之前添加一个重定向,这样:

RewriteRule ^(.*)$ https://example.com/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)

但我从浏览器收到“页面未正确重定向”错误。

那么,将用户从网站的 http 版本重定向到 https 并最终重定向到带有 www 的 https 的正确方法是什么?以及:有任何风险吗?

mod-rewrite .htaccess redirect hsts

9
推荐指数
1
解决办法
2054
查看次数

将 HSTS 添加到 nginx 配置

我最近更改了我的 nginx 配置,将所有 http 流量重定向到 https(并将所有 www 流量重定向到 no-www)。

也添加add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;到我的服务器块是否有意义?或者这是不需要的,因为我已经重定向了所有流量?知道优点(和缺点,如果有的话)会很棒。


如果相关,我当前的虚拟主机配置是:

server {
    server_name example.com www.example.com;

    listen 80;

    return 301 https://example.com$request_uri;
}

server {
    server_name www.example.com;

    listen 443 ssl;

    ssl_certificate /etc/nginx/ssl/cert_chain.crt;
    ... other SSL related config ...

    return 301 https://example.com$request_uri;
}

server {
    server_name example.com;

    listen 443 ssl;
    ... other SSL related config ...

    ... remaining server configuration ...
}
Run Code Online (Sandbox Code Playgroud)

nginx https hsts

8
推荐指数
3
解决办法
2万
查看次数

Apache 2.4 - 禁用 HSTS 标头

我已经使用 Ubuntu 18.04 设置了一个 Vagrant 框并安装了 Apache 2.4.29。我创建并启用了一个新的 conf 文件,如下所示:

<VirtualHost *:80>
    ServerName django.dev
    ServerAlias www.django.dev
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当我尝试调用 django.dev 时,apache 以 HSTS 标头响应:

HSTS 响应头

我不知道这是从哪里来的。在 apache2.conf 和 000-default.conf 中都没有设置这样的标头,我什至没有启用 mod_ssl。

奇怪的是,如果直接调用 IP,一切都按预期进行。如果我 ping django.dev,它会解析为完全相同的 IP。

有谁知道我可以如何或在哪里禁用 HSTS?我不知所措,已经浪费了几个小时试图解决这个问题。

apache-2.4 hsts ubuntu-18.04

8
推荐指数
1
解决办法
5225
查看次数

HSTS 如何处理混合内容?

我刚刚检查了SSL 服务器测试是否在我的服务器上正确实施了 SSL 证书。我得到了一个档次的一个在他们的排名,但你可以得到一个A +,如果你已经激活HSTS。经过一番搜索,我发现 Google 可能会将 HSTS 视为排名因素。因此,它似乎与 SEO 相关。在实施 HSTS 之前,我有一些问题。

问题 1

如果某些外部 javascript 加载例如我网站上的 http(而不是 https)上的图像,会发生什么情况?HSTS 会阻止整个页面加载还是只阻止特定的“不安全”内容?

问题2

目前(没有 HSTS),如果资源是通过 http 加载的,我会收到“混合内容”警告。如果激活 HSTS,“混合内容”是否真的存在?

ssl ssl-certificate mixed-content hsts

7
推荐指数
1
解决办法
2117
查看次数

我的浏览器不会显示 http://[sub.]example.com

当我在浏览器中访问时,http://sub.example.com我收到“连接被拒绝” 消息或“无效证书”错误,但我什至不想通过 https 进行连接。

据我所知:

  • Web 服务器已正确配置sub.example.com
  • TCP 端口 80 在防火墙/安全组中打开
  • URL 中使用纯 HTTP 而不是 HTTPS
  • DNS 记录sub.example.com指向 Web 服务器的正确 IP 地址
  • Web 服务器已使用新配置重新启动
  • 日志不显示启动或任何其他错误

我该如何调试以及存在什么问题?

ssl nginx web-server apache-2.4 hsts

6
推荐指数
1
解决办法
3971
查看次数

尽管存在规则并且启用了 mod_headers,但未发送 HSTS 标头

我们httpd.conf在虚拟主机处理端口 443 中启用了 HSTS 。我们尝试使用和不使用<IfModule mod_headers.c>

<IfModule mod_headers.c>
    Header set Strict-Transport-Security "max-age=10886400; includeSubDomains"
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但是服务器在响应中不包含标头。以下是通过 HTTPS 的 curl:

> GET / HTTP/1.1
> Host: www.cryptopp.com
> User-Agent: curl/7.51.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Sat, 05 Nov 2016 22:49:25 GMT
< Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips
< Last-Modified: Wed, 02 Nov 2016 01:27:08 GMT
< ETag: "8988-5404756e12afc"
< Accept-Ranges: bytes
< Content-Length: 35208
< Vary: Accept-Encoding
< Content-Type: text/html; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

的相关部分httpd.conf如下所示。cURL …

php centos mediawiki hsts

5
推荐指数
1
解决办法
1130
查看次数

Mikrotik - 将 YouTube 重定向到本地友好页面

我正在配置 rb750。我想放弃 YouTube 访问权限并重定向到位于我们本地网络服务器中的友好页面。我可以放弃使用 l7 防火墙,但我无法重定向用户,因为 https。具体来说,你管使用某种技术来阻止这种“拦截”。我也尝试过 dnat 和 DNS,但两者都不起作用:(。我已经阅读了适用于 chrome、Firefox 和其他产品的 hsts(https 严格传输安全),并在网站导航期间允许完整的 https,这就是为什么我不能这样做。你们有什么想法吗?

https mikrotik redirect dnat hsts

4
推荐指数
1
解决办法
2471
查看次数