【问题标题】:Force https for entire server/domain对整个服务器/域强制 https
【发布时间】:2023-04-05 09:02:02
【问题描述】:

我正在开发一些只能通过 https 访问的表单。我有一个专用服务器,有自己的证书和所有好东西。

所以我的问题实际上是双重的:

1)。强制每个请求为 https 的最佳方法是什么?有没有比这个 .htacess/mod_rewrite 规则更好的方法:

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

2)。是否有任何潜在的陷阱或不利因素强制一切都是我应该考虑的 https(除了开销,这似乎不是问题)?

【问题讨论】:

    标签: apache .htaccess mod-rewrite https


    【解决方案1】:

    你有的应该没问题,这是我用的:

    RewriteCond %{HTTPS} !=on
    RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
    

    R 表示它是重定向而不是重写,L 表示重写引擎不应再执行任何重写。

    我最初是在这里找到的:Httpd Wiki

    编辑:

    我忘了提到强制所有请求通过 HTTPS 的 SSLRequireSSL 指令。详情可见Apache Documentation

    【讨论】:

    • 出于某种原因,在我的配置中,您的方法不起作用,而“我的”则起作用。知道为什么吗?另外,谢谢或有关 SSLRequireSSL 的提示,但我的理解是,这将反弹非 https 请求,这在这种情况下不是我想要的。
    • 有意思,你运行的是什么版本的 Apache?
    猜你喜欢
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2013-07-13
    • 2013-10-12
    相关资源
    最近更新 更多