Jas*_*vis 255 ssl http https apache-2.2
我刚刚在我的服务器上安装了 SSL 证书。
然后它在端口 80 上为我的域上的所有流量设置重定向,以将其重定向到端口 443。
换句话说,我所有的http://example.com流量现在都被重定向到https://example.com页面的适当版本。
重定向是在我的 Apache Virtual Hosts 文件中完成的,内容如下...
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
Run Code Online (Sandbox Code Playgroud)
我的问题是,使用 SSL 有什么缺点吗?
由于这不是 301 重定向,我是否会因为切换到而失去搜索引擎中的链接汁/排名https?
我很感激你的帮助。一直想在服务器上设置SSL,只是为了实践一下,今晚终于决定做了。到目前为止,它似乎运行良好,但我不确定在每个页面上都使用它是否是个好主意。我的网站不是电子商务网站,也不处理敏感数据;它主要是为了外观和安装它进行学习的快感。
更新的问题
奇怪的是,Bing 从我的网站创建了这个屏幕截图,因为它在任何地方都使用 HTTPS...
Mar*_*son 321
在[R]对自己的标志是一个302重定向(Moved Temporarily)。如果您真的希望人们使用您网站的 HTTPS 版本(提示:您这样做),那么您应该使用[R=301]永久重定向:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
Run Code Online (Sandbox Code Playgroud)
A301保持您所有的 google-fu 和来之不易的 pageranks完好无损。确保mod_rewrite已启用:
a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
要回答您的确切问题:
将http重定向到https是否不好?
一定不行。这很好。
小智 51
虽然我支持仅使用 SSL 的站点的想法,但我会说一个缺点是开销取决于您的站点设计。我的意思是,例如,如果您在 img 标签中提供大量单个图像,这可能会导致您的网站运行速度变慢。我会建议任何使用仅使用 SSL 的服务器的人确保他们在以下方面工作。
<meta property="og:url"为使用您的域的 https 版本。<base href=再次使用更新以使用 HTTPS。如果解决了上述问题,那么我怀疑您会有很多问题。
And*_*bel 38
我已经设置了 https,那么你应该在网站上的任何地方使用它。您将避免混合内容问题的风险,如果您拥有所需的工具,为什么不确保整个站点的安全?
关于从 http 到 https 的重定向,答案并没有那么简单。
重定向将使您的用户更容易,他们只需输入 whatsite.com 并重定向到 https。
但。如果用户有时在不安全的网络上(或者靠近Troy Hunt 和他的 Pineapple)怎么办?然后用户会出于旧习惯请求http://whateversite.com。那就是http。这可以妥协。重定向可能指向https://whateversite.com.some.infrastructure.long.strange.url.hacker.org。对于普通用户来说,这看起来很合法。但是可以拦截流量。
所以我们在这里有两个相互竞争的要求:用户友好和安全。幸运的是,有一种补救措施叫做HSTS header。有了它,您可以启用重定向。浏览器将移动到安全站点,但多亏了 HSTS 标头,它也会记住它。当用户在那个不安全的网络上输入 whatsite.com 时,浏览器将立即转到 https,而不会跳过 http 上的重定向。除非您处理非常敏感的数据,否则我认为对于大多数站点来说,这是安全性和可用性之间的公平权衡。(当我最近设置一个处理医疗记录的应用程序时,我没有重定向就使用了 https)。不幸的是 Internet Explorer 不支持 HSTS(来源),因此如果您的目标受众主要使用 IE 并且数据是敏感的,您可能需要禁用重定向。
因此,如果您不针对 IE 用户,请继续使用重定向,但也要启用 HSTS 标头。
Cal*_*ion 21
这没有任何问题,实际上这是最佳实践(对于应该通过安全连接提供服务的站点)。事实上,您所做的与我正在使用的配置非常相似:
<VirtualHost 10.2.3.40:80>
ServerAdmin me@example.com
ServerName secure.example.com
RedirectMatch 301 (.*) https://secure.example.com$1
</VirtualHost>
# Insert 10.2.3.40:443 virtual host here :)
Run Code Online (Sandbox Code Playgroud)
该301状态代码表示永久重定向,指示功能的客户端,以供日后连接的安全网址(如更新书签)。
如果您只通过 TLS/SSL 为站点提供服务,我建议您使用进一步的指令在您的安全虚拟主机中启用 HTTP严格传输安全(HSTS) :
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=1234; includeSubdomains"
</IfModule>
Run Code Online (Sandbox Code Playgroud)
此标头指示有能力的客户端(我相信这些天中的大多数)在接下来的几秒钟内只应将HTTPS与提供的域(secure.example.com在本例中为 )一起使用1234。该; includeSubdomains部分是可选的,表示该指令不仅适用于当前域,还适用于其下的任何域(例如alpha.secure.example.com)。请注意,HSTS 标头仅在通过 SSL/TLS 连接提供服务时才被浏览器接受!
要根据当前最佳实践测试您的服务器配置,Qualys 的 SSL 服务器测试服务是一个很好的免费资源;我的目标是至少获得 A-(由于缺乏对椭圆曲线加密技术的支持,Apache 2.2 无法获得更多分数)。
哇 !将 HTTP 重定向到 HTTPS 是一件非常好的事情,我看不出有任何缺点。
只需确保您的客户端拥有正确的 CA,以避免在浏览器中出现关于证书的非用户友好警告。
此外,您设置 Apache 以重定向到 HTTPS 的方式似乎没问题。
将http重定向到https是否不好?
一点都不。事实上,这样做是一件好事!
关于重定向:
通过完全消除重写,它可能会更有效率。这是我在类似情况下的配置...
<VirtualHost *:80>
ServerName domainname.com
<IfModule mod_alias.c>
Redirect permanent / https://domainname.com/
</IfModule>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104002 次 |
| 最近记录: |