如何将网站从HTTP重定向到HTTPS?
采用HTTPS;不需要花费任何费用,但可以获得搜索引擎排名和安全性。
HTTPS应该普及到每个地方,而最近,Google将其视为其搜索引擎结果的排名信号。
有两个主要原因你应该考虑用SSL证书保护你的网站。
- 安全性-确保敏感数据从用户浏览器加密到Web服务器或网络边缘。拥有SSL还可以提供一些trust to the visitor,表明您的网站是安全的。
- SEO- HTTPS是一个新的排名信号,大老板正在关注您,所以不要在竞争中落后。
如果您担心成本,那么请让我提醒您,您可以从许多发行商那里获得SSL certificate in FREE。并且大多数shared hosting提供免费的SSL。
有很多种方法可以进行重定向,以下是我找到的最简单的方法。
Apache
- 登录到您的Apache服务器并转到其安装路径。
- 转到conf文件夹并备份
httpd.conf
文件 - 使用vi编辑器打开
httpd.conf
(选择您喜欢的编辑器) - 确保已加载
mod_rewrite.so
模块
LoadModule rewrite_module modules/mod_rewrite.so
- 如果看到上面的行被注释掉了,请取消注释
- 在文件末尾添加以下内容
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
- 重新启动Apache Web服务器以进行测试。
配置好的网站应该能够重定向并通过https访问。
Nginx
登录到Nginx Web服务器并备份nginx.conf
或default.conf
文件(不管您在服务器指令中使用的是哪个文件)
- 在服务器指令中添加以下内容
return 301 https://$server_name$request_uri;
- 保存文件并重新启动Nginx Web服务器。
重新启动Nginx以测试网站。
Cloudflare
如果您正在利用Cloudflare提高性能和安全性,则通过HTTPS拥有网站非常容易。
- 登录到Cloudflare >> 选择站点
- 转到SSL/TLS选项卡>>边缘证书
- 确保已打开
还有另一种方法,即页面规则。
- 转到页面规则
- 点击“创建页面规则”
- 输入URL(放置星号,以便所有URI都进行重定向)
- 点击“添加设置”并从下拉菜单中选择“始终使用HTTPS”
- 点击“保存并部署”
这将需要几秒钟,您就可以通过https访问您的网站了。如果使用Cloudflare后,您的站点由于混合内容而破裂,请查看以下指南。
cPanel
我假设您正在使用共享主机平台。首先,您需要确保托管提供商提供了SSL并为您的站点启用了SSL。
- 登录到cPanel并转到文件管理器,您可以在其中找到
.htaccess
文件 - 在文件末尾添加以下内容
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
注意:如果您在现有文件中已经看到“RewriteEngine On”,则不需要重复添加。
- 保存文件并验证重定向。
SUCURI
SUCURI在WAF plan下提供免费证书,您可以通过导航到HTTPS/SSL选项卡启用它。
首先,在SSL模式中选择“Full HTTPS”。
其次,在协议重定向中选择“仅HTTPS网站”。
保存配置,在几秒钟内,您的网站将通过https访问。
Kinsta
Kinsta,一个高级的WP托管提供商,提供Let’s Encrypt证书,并允许您通过单击强制使用HTTPS。
- 登录到MyKinsta
- 选择要启用和强制使用HTTPS的站点
- 转到工具并启用Force HTTPS
SiteGround
SiteGround有自己的控制面板(之前是cPanel),并免费为您提供实现SSL证书的选项,并给您强制所有请求使用HTTPs的选择。
要这样做,
- 登录到SiteGround
- 转到网站选项卡
- 在网站旁边选择Site Tools
- 导航到Security >> HTTPS Enforce
- 切换按钮以激活它
接下来是什么?
设置重定向后,请确保所有资源都通过HTTPS加载。您可以使用Mixed Content Testing tool来验证是否仍然有资源通过HTTP加载。
还有…
如果您注意到并使用WordPress,那么您可能需要使用SSL Insecure Content Fixer Plugin,这将确保所有资源都通过https://提供。
对于Joomla,请使用Easy HTTPS extension。
结论
希望上述说明能对您有所帮助。您可能还想测试您的站点,以确保没有vulnerabilities in the TLS配置/证书。