什么是HTTP和HTTPS?

超文本传输协议(HTTP)和超文本传输协议安全(HTTPS)是允许计算机通过internet发送和接收信息(如文本、图像或视频)的协议。

例如,网站访问者的浏览器使用HTTP或HTTPS从网站服务器请求页面及其内容。 服务器将数据发回,浏览器显示网站。

HTTPS是http的安全版本,使用SSL安全套接字层(SSL)或传输层安全性(TLS)证书来加密数据。

加密在传输过程中保护数据(如密码或信用卡号码)。

这里有一个如何做的例子HTTPS工程项目:

A browser connects to a server with a user ID and password. With HTTPS, a hacker sees an encrypted user ID and password.

为什么要将HTTP重定向到HTTPS?

你应该重定向HTTP到HTTPS因为它可以保护敏感信息,并可以提高你的网站的排名(出现)高的能力搜索引擎结果页(Serp).

正确的重定向将流量从站点的非安全HTTP版本发送到安全HTTPS版本。

如果您从托管服务提供商处购买SSL证书,您的主机通常会自动处理重定向。

但是,如果您有自定义设置,则可能需要手动强制重定向。

确切的过程可能会根据您使用的服务器类型而有所不同,因此我们将介绍几种方法来做到这一点。

如何在WordPress中将HTTP重定向到HTTPS

您可以使用插件或手动编辑文件将Http重定向到WordPress中的HTTPS。

以下是如何做到这两点:

使用插件

WordPress插件喜欢非常简单的安全性提供从HTTP重定向到HTTPS的无代码解决方案。

以下是如何使用它:

登录到您的WordPress帐户。 前往"插件"并搜索"非常简单的安全性。”

点击"立即安装"并在安装完成后激活插件。

AD_4nXeAUWTrMvBPDjKd5CI3h9q0pprtajAbfPfs8ehjEuuaA--pGXIIyGGg-6dxK7jF21uLlfKIEbgMkCWyXogitdh31X_VKMA5ckBqEqyvH7xIVPUXE-igAjTHjYZaOTgWh_HlGoovGA?key=slCHbKjVXUUuIXzUZmE_M-EU

按照插件的入职向导。 它会要求您提供主机和电子邮件地址等信息来测试配置。

The setup wizard detects an SSL certificate.

完成入职流程后,您的网站应自动将用户和搜索引擎转发到网站的HTTPS版本。

手动编辑WordPress文件

如果您喜欢动手操作,或者您的托管环境不允许插件,请手动编辑WordPress文件。

转到您的WordPress仪表板开始。

点击"设置,"选择"一般事务,"并找到"WordPress地址(URL)"和"站点地址(URL)。”

在两个URL字段中将"http://"替换为"https://"。

To redirect http to https in WordPress, the URL is updated.

点击"保存更改.”

然后,您需要编辑配置文件(即用于自定义web服务器的文件)。

然后,您需要编辑的文件取决于哪个服务器托管您的网站:

  • 对于Apache服务器:编辑您的.htaccess文件(经常在根文件夹中找到的配置文件)使用此代码:
RewriteEngine上
重写%{HTTPS}!=上
RewriteRule^(。*)$https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]
  • 对于Windows IIS服务器:更新网页。配置文件(通常在根目录中找到的配置文件)














如何在Nginx中设置HTTP重定向

您可以通过向配置文件添加规则来设置Nginx(开源web服务器软件)的重定向。

以下是在Nginx中设置重定向的两种不同方法:

将所有HTTP站点重定向到HTTPS

当您在特定的Nginx配置下拥有多个域和多个SSL证书时,将所有HTTP站点重定向到HTTPS是理想的选择。

按照以下说明操作:

  1. 打开您的Nginx配置(nginx。conf)文件或相关的服务器块文件,通常在"/etc/nginx/中找到。"如果文件不存在,您可能需要创建一个新文件。
  1. 将服务器块(代码)添加到配置文件中,以捕获端口80上的所有流量(通过站点的HTTP版本的流量),并将流量重定向到HTTPS版本:
服务器{
听80default_server;
服务器名称 _;
返回301https://host host$request_uri;
}
  1. 添加另一个侦听端口443的服务器块,其中包含每个域的SSL证书详细信息:
服务器{
听443ssl;
服务器名称www.example.com;
ssl_证书www.example.com.crt;
ssl_certificate_key www.example.com.key;
ssl_protocols TLSv1.2TLSv1.3;
ssl_ciphers高:!阿努尔:!MD5;
...
}
  1. 找到服务器的终端并通过运行命令测试配置sudo nginx-t. 输出会告诉你,如果你有任何错误,所以你知道要修复什么。
  1. 如果您的测试成功,请重新加载Nginx,以便您的更改通过运行命令生效sudo systemctl reload nginx

重定向特定站点

如果您有多个应用程序或站点,并且每个应用程序或站点都不需要SSL证书,则重定向特定站点。

以下是如何做到的:

  1. 打开您的Nginx配置(nginx。conf)文件或相关的服务器块文件,通常在"/etc/nginx/中找到。'如果文件不存在,您可能需要创建一个新文件。
  1. 将此服务器块添加到配置文件以将HTTP流量重定向到HTTPS
服务器{
听80;
服务器名称example.com;
返回301https://example.com$请求_uri;
}
  1. 找到服务器的终端并通过运行命令测试配置sudo nginx-t. 输出将显示您是否有任何错误,以便您知道要修复什么。
  1. 如果您的测试成功,请重新加载Nginx,以便您的更改通过运行命令生效sudo systemctl reload nginx

如何在WINDOWS IIS中重定向到HTTPS

通过编辑您的web,在Windows IIS(来自Microsoft的web软件服务器)中将HTTP重定向到HTTP。配置文件。

按照以下步骤操作:

  1. 下载及安装(下载IIS URL重写模块如果你还没有安装它)。 然后,打开IIS管理器。
  1. 在左边的菜单中选择你的网站. 并点击"URL重写.”
AD_4nXc9AaC4N64kTtVID6rD9rzPFIIjWdZINg7sdOumfWUKz6MRX-rWpfu03CVY5rax333xUnzxdB5EmpvkV5IClzNjmWmh5NqynhyywEIEDVca-ZWtO6xyQ_lTZ2Zbydu3-cwJ3bFkZA?key=slCHbKjVXUUuIXzUZmE_M-EU
  1. 点击"添加规则…,"选择"空白规则,"然后命名你的规则。
  1. 将字段设置为"匹配模式,” “正则表达式,"和"(。*)"并选中"忽略大小写"旁边的复选框。”
Name the inbound rule,
  1. 在下一个窗口中,将字段设置为"{HTTPS},""匹配模式,"和"^关$。"并选中"忽略大小写"旁边的复选框。”
  1. 进入"操作"部分后,选择"重定向"在"操作类型"下,并将目标设置为"https://{HTTP_HOST}/{R:1}。"并选中"追加查询字符串"旁边的框。”
重定向 type is set to permanent 301.
  1. 点击"申请.”

如何在Apache中进行HTTP重定向

通过使用Apache虚拟主机或修改Apache在Apache中设置HTTPS重定向。htaccess文件。

使用Apache虚拟主机重定向

如果您完全控制服务器的配置文件并希望在服务器级别管理文件,则使用Apache虚拟主机重定向。

以下是如何做到的:

  1. 在文本编辑器中打开虚拟主机文件。 虚拟主机文件通常在"/etc/apache2/sites-available/"中找到。"文件名通常对应于您的域(例如,"yourdomain。conf")
  1. 通过将此块添加到文件中,在端口80上设置虚拟主机:

服务器名yourdomain.com
重定向301/https://yourdomain.com/
  1. 确保存在包含SSL证书详细信息的虚拟主机块。 此块可能位于您正在处理的同一个文件中,也可能位于单独的文件中。 如果您没有虚拟主机块,请添加此块:
 
服务器名yourdomain.com
SSLEngine上
SSLCertificateFile/path/to/your/certificate。阴极射线管
SSLCertificateKeyFile/path/to/your/certificate。密钥/路径/到/您的/证书。钥匙
  1. 保存并关闭配置文件
  1. 重新启动Apache以使更改生效

重定向与.htaccess的

您可以使用an将HTTP重定向到HTTPS。htaccess文件,如果你没有访问您的服务器的配置文件。

按照以下步骤操作:

  1. 找到。网站根目录中的htaccess文件
The root directory in this example is public_html. Then, choose .htaccess.
  1. 打开文件并添加此代码:
RewriteEngine上
重写%{HTTPS}!=上
RewriteRule^(。*)$https://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]
  1. 保存文件并检查以确保重定向工作。 如果没有,您可能需要与您的主机交谈,并要求他们将您的服务器配置为允许。htaccess在Apache的主配置文件中复盖。

如何验证网站的HTTPS版本

验证网站的HTTPS版本可确保重定向工作,并将用户和搜索引擎指向正确的版本。

为此,请在浏览器栏中输入域的HTTP和HTTPS版本。 无论哪种情况,您都应该最终使用HTTPS版本。

接下来,在谷歌搜索控制台以确保您可以正确跟踪性能:

  1. 转到Search Console,登录并使用HTTPS URL前缀添加新属性(例如,"https://yourdomain.com/").然后点击"继续.”
AD_4nXfipANy6uan5wjSKHi5EAdeP3H5Clau4oXidcl7FBshb6eZnex5tTU8BzRqszsbEcQOpj3toKUjwGDiXqYUpfMyDLF8qaOaVG3qOTx-gibhafbrLE5_Io2Wl3ZyGlSqJ82zZoNJvw?key=slCHbKjVXUUuIXzUZmE_M-EU
  1. 使用推荐的方法完成所有权验证
The recommended method is via HTML file. Steps say to download the file, upload to your site, then click Verify to continue.
  1. 单击下拉列表以查看您的网站已被验证。 已验证的网站显示在列表的顶部。
In 谷歌搜索控制台, verified and not verified properties are shown.

检查您的HTTPS实现是否存在问题

移动到HTTPS有时会导致意外的问题,如混合内容(当内容在HTTP和HTTPS中加载时),您可以使用Semrush的现场审核工具。

之后配置站点审核,点击"查看详情"在HTTPS下。

现场审核 overview shows reports, site health, technical SEO errors, and HTTPS specific issues.

该工具将带您进入一个页面,其中包含您可能想要修复的问题列表。

例如,下面的审计显示该网站在其网站地图(即概述网站结构的文件)。

The error says,

点击"为什么以及如何解决它"在任何被标记为了解它以及如何解决问题的问题旁边。

The pop up explains the issue and says to replace all HTTP URLs in your 网站地图 with HTTPS URLs.

像这样的定期审核可以确保您的网站对访问者保持安全,全面优化和可靠。

要检查您的HTTPS实现?

免费试用网站审核。

雷切尔 汉德利
Rachel是一名资深内容作家,在内容营销和SEO方面拥有12年以上的经验。她曾在代理机构工作,为各种品牌制定和执行内容战略,并在内部推动SaaS初创公司的有机增长。