以下是我对 SSL 的一些疑问。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} somefolder
RewriteRule ^(.*)$ https://www.domain.com/somefolder/$1 [R,L]
以上是强制所有内容通过 HTAccess 进入 SSL 的代码。有没有办法可以将此代码限制为特定的 IP 地址。我只想对我的 IP 地址强制使用 SSL,以便我可以使用新的 SSL 链接彻底测试该站点,然后查看(确保) 在将它带到实时站点之前,一切都在工作。仅使用我的 IP 进行测试会容易得多。
SSL 会干扰任何获取/发布吗?意思是......如果我使用上面的代码,并且有人在页面上......并且他们提交了一个表单,它会强制他们进入 SSL,这是否会被视为重定向 并清除任何发布/获取变量?我只是想提前了解它是否会弄乱我正在运行的任何东西。
你们有没有遇到过强制使用 SSL 然后网站无法正常工作的问题?
最佳答案
如果您想确保您的站点与 HTTPS 兼容,请关闭纯 HTTP(假设它适用于整个服务器),或使用 Apache Httpd 指令(在 .htaccess
或主配置中)这使得需要通过 HTTPS 服务的页面在通过纯 HTTP 访问时返回错误(例如 404)。
您可以使用 Deny from xxxxxxx
为特定 IP 地址实现此目的.
不要依赖 mod_rewrite
或类似的方法将纯 HTTP 请求重定向到它们的 HTTPS 等效项。这充其量只会隐藏问题并造成错误的安全感。
这样做的原因是,即使使用重定向,初始请求在被重定向之前也是明确的:确保所有引用在使用它们之前都使用 https://
URI。您可以在 this answer 中找到更多详细信息.
关于php - 通过 HTaccess 强制使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10090642/