Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 301.htaccess中的重定向和HST_Apache_.htaccess_Redirect_Https_Hsts - Fatal编程技术网

Apache 301.htaccess中的重定向和HST

Apache 301.htaccess中的重定向和HST,apache,.htaccess,redirect,https,hsts,Apache,.htaccess,Redirect,Https,Hsts,我已将站点更改为https,并在.htaccess中设置了重定向。但我也设置了严格的交通安全措施。两者都是必要的还是有用的 <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=16070400" </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} o

我已将站点更改为https,并在.htaccess中设置了重定向。但我也设置了严格的交通安全措施。两者都是必要的还是有用的

<IfModule mod_headers.c>
     Header always set Strict-Transport-Security "max-age=16070400"
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

标头始终设置严格的传输安全性“最大年龄=16070400”
重新启动发动机
重写条件%{HTTPS}关闭
重写规则^(.*)$https://%{HTTP_HOST}/$1[R=301,L]

干杯

是的!你应该两个都留着。从一开始,使用HST有很多好处。例如:

  • 自动将HTTP请求重定向到HTTPS

  • 防止用户覆盖无效的证书消息


我想您应该看看这篇文档,上面写着:
它基本上类似于301重定向,但在浏览器级别,而不是网页级别。它优于301重定向,因为它可以实现为始终只使用https,而301重定向在第一次被浏览器看到时实际上是不安全的


阅读文档后,您可以决定它。

重定向告诉输入
http://www.example.com
转到
https://www.example.com
。由于默认值是http,如果您退出协议,只需键入
www.example.com
,那么您将转到
http://www.example.com
是的,您需要此重定向

不过,这也有一些问题

First up http不安全,可以被网络上的其他人读取和更改。这正是您应该使用https的原因。然而,由于http是不安全的,这意味着他们可以截获您的重定向,使您保持http版本,并继续截获您的流量。或者将您重定向到
https://www.evilexample.com

HTTP严格传输安全性(HSTS)是一种试图解决此问题的安全机制。您的服务器告诉浏览器始终对该站点使用https。即使用户不键入协议(通常使用http时),即使您DO将协议键入为http

一旦浏览器为站点加载了HST,它甚至不会发送http请求,而是会自动将其更改为https。这有几个优点:

  • 它更安全,因为它不能被拦截
  • 由于不浪费时间向
    http://www.example.com
    只需被告知转到
    https://www.example.com
  • 它可用于解决混合内容错误,因为如果意外包含http源,http资源(仅针对该站点,但不从其他站点加载)将自动更改。内容安全策略的升级不安全请求可能是更好的解决方案,但HSTS仍提供基本版本
  • 另外,正如另一个答案所述,另一个单独的好处是,此设置还意味着浏览器将不允许访问者点击此站点的证书错误,这增加了额外的安全性,以防止攻击

    HST的主要缺点是:

  • 您的站点需要仅使用https,这可能看起来很明显,但很容易忽略仅使用http的部分站点。或http上的子域(如果使用includeSubdomain选项)
  • 访问者需要先访问站点以获取HSTS策略,尽管您可以将其预加载到浏览器中,但这不太可能是一个决定
  • 浏览器支持尚未普及。即使是搜索引擎等使用的爬虫程序也可能不会使用它

  • 因此,希望这能解释为什么HSTS是一件好事,是你应该保留的东西。在重定向的顶部。

    谢谢。我会让它保持原样。我当然会考虑将我的站点添加到预加载列表中,但可能不适合任何客户端。老实说,我不是预加载的超级粉丝。正如我在这里解释的:很高兴在添加任何站点到列表之前读到这一点。非常感谢!