以下是我对SSL的一些问题。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} somefolder
RewriteRule ^(.*)$ https://www.domain.com/somefolder/$1 [R,L]
上面是强制所有内容通过HTAccess转到SSL的代码。有没有办法可以将此代码限制为特定的IP地址。我想强制SSL只用于我的IP地址,以便我可以使用新的SSL链接彻底测试网站,并查看(确保) 在将它带到现场之前,一切正常。使用我的IP进行测试会更容易。
SSL是否会干扰任何获取/发布?意思是...如果我使用上面的代码,并且有人在页面上...并且他们提交表单,它将强制他们进入SSL,是否会被视为重定向 并清除任何post / get变量?我只是想提前找出它是否会弄乱我运行的任何东西。
您是否有任何情况下您强制使用SSL,然后网站上的许多问题都无法正常工作?
答案 0 :(得分:2)
如果您想确保您的网站能够很好地使用HTTPS,请关闭普通HTTP(假设它适用于整个服务器),或使用构成网页的Apache Httpd指令(在.htaccess
或主配置中)需要通过HTTPS提供的服务在通过纯HTTP访问时返回错误(例如404)。
您可以使用Deny from xxxxxxx
为特定IP地址实现此目的。
不要依赖mod_rewrite
或类似的方法将纯HTTP请求重定向到其HTTPS等效项。这最多可以隐藏问题并导致错误的安全感。
这样做的原因是,即使使用重定向,初始请求也会在重定向之前清除:确保所有引用在使用之前都使用https://
URI。您可以在this answer中找到更多详细信息。
答案 1 :(得分:1)
导航至:http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#relative
如何在相对超链接中切换HTTP和HTTPS?