在WordPress网站上安装SSL证书,既是顺应互联网生长之要求,也是网站信息加密之所需。
网站拥有SSL证书将启用HTTPS,这可确保不会以纯文本形式通报任何信息。我们建议所有站点都使用HTTPS,由于它具有除平安性之外的许多其他利益,如SEO、信托、制止浏览器忠言等。
如何安装SSL证书
对于WordPress网站安装SSL(TLS)证书,小编仅针对最为常见的三种安装方式进行解说。
- 选项1 –宝塔安装免费SSL证书
- 选项2 –手动部署安装免费SSL证书
- 选项3 –使用Cloudflare或Sucuri安装SSL证书
- 检查&续订SSL证书
- 强制HTTPS
- 其他注重事项
选项1 –宝塔安装免费SSL证书
若是您的VPS服务器安装部署了宝塔控制面板,那安装免费SSL证书是一件异常简朴的事情。
第1步
登录到宝塔控制面板后台,然后进入“网站”管理列表,找到你需要安装SSL证书的网站,点击操作“设置”。
在宝塔控制面板中选择一个站点
第2步
使用宝塔面板安装SSL证书,主要推荐两种方式:宝塔SSL(1年免费TrustAsia DV SSL CA证书,期满可续订)或者Let’s Encrypt免费证书(3个月免费,可续订)。
(1)Let’s Encrypt证书安装
在网站设置弹窗窗口,点击左侧菜单“SSL”,然后切换至Let’s Encrypt标签项,选择验证方式为“文件验证”及勾选你需要安装SSL证书的“域名”,最后点击“申请”。
申请后,稍等片晌,系统将会自动为您确定SSL证书并完成部署。
注:
- 申请之前,请确保域名已剖析,如未剖析会导致审核失败
- Let’s Encrypt免费证书,有用期3个月,支持多域名。默认会自动续签
- 若您的站点使用了CDN或301重定向会导致续签失败
- 在未指定SSL默认站点时,未开启SSL的站点使用HTTPS会直接接见到已开启SSL的站点
- 如开启后无法使用HTTPS接见,请检查平安组是否准确放行443端口
(2)宝塔SSL证书安装
若是你嫌上面的Let’s Encrypt免费证书有用期过短(现实上可以续订),那也可以申请宝塔的SSL正式(该证书现实上是TrustAsia DV SSL CA – G5证书)。
首先你必须完成宝塔账号实名认证,否则无法由宝塔提供的1年免费的TrustAsia DV SSL CA – G5证书。
注:宝塔实名认证,可以是小我私人或者企业实名认证,其中小我私人实名认证务必保证手机号码、姓名和身份证三个信息准确,且手机号码不能为电信号码、携号转网号码(官方说的)。
同在网站设置弹窗窗口,点击左侧菜单“SSL”,然后切换至宝塔SSL标签项,选择你需要申请宝塔SSL的域名,点击“申请”。
乐成申请后,点击“部署”操作即可。(部署完成,同样会跳转至Let’s Encrypt标签页,这有点不太合理的交互)。
注:TrustAsia DV SSL CA – G5证书1年有用期竣事后不能够续签,需重新申请。
第3步
完成宝塔控制面板的SSL申请及部署后,建议启用强制HTTPS,以保证所有域名接见通过https。
选项2 –手动部署安装免费SSL证书
第一步 –申请免费的SSL证书
你可以通过Free SSL申请注册免费SSL证书。首先你得注册一个Free SSL的账号,然后登录Free SSL网站。在首页,输入你要申请免费SSL证书的域名,点击Create certificate:
在下一个步骤,无需剖析任何选项,直接点“Next Step”
然后,你可以选择90天或者1年的SSL证书,注重,这里万万不要选择第二个选项“1-Yeaar Certificate”,应该选择第一个“90-Day Certificate”。
选择天生证书信息的方式,凭证自己的现真相形选择,建议选择第三个“Fill in the information”:
- EmailAddress-电子邮件地址
- Organization-组织
- Department-部门
- City-都会/区域
- State-省份
- Country-国家
点击提交,浏览器将会下载自动天生一个私钥文件private key,将其保留到浏览器随便位置(后面最终步骤也会在下载的压缩包包罗此文件)。
然后,选择第一个“Free”套餐(注:其他套餐都是付费套餐),点击“Next”,进入下一个步骤。
在下个页面,Free SSL还需要对域名进行验证,可以使用邮箱认证、DNS认证和上传文件认证,这里选择最为便捷的文件上传认证作为演示。
选择“HTTP File upload”,点击“Next”
凭证提醒的信息确定一个txt文本,其中Auth value对应的值作为txt文本的内容,Auth path对应的值作为txt文件名,最后将确定好的txt文件上传至服务器网站根目录下的
然后点击“Verify Domain”,可能需要一小会的时间。
注:验证域名的时刻,如失败,检查下Auth Path的URL是否能够正常接见。必须支持http接见才可以乐成验证,若是启用了强制https,应暂且作废。
验证乐成后,点击Certificate列表对应域名右侧的操作项“Operation”下的“Download”,将会下载一个zip压缩包(包罗一个key文件合一个pem文件)。
第二步 –部署SSL证书
(1)宝塔面板部署Free SSL证书
若是你安装的是宝塔面板,则部署适才在Free SSL申请的免费证书是一件异常简朴的事情。
登录你的网站服务器的宝塔控制面板后台,点击(1)“网站”菜单,在网站列表中找到需要设置SSL的域名,点击(2)“设置”操作,然后在弹出窗口中(3)选择“其他证书”选项卡。
All in One SEO插件安装及设置图文教程
然后将前面下载的压缩包文件解压获得两个文件:.key和.pem。使用记事本打开,将.key的文本内容复制粘贴到(4)key密钥,及将.pem的文本内容复制粘贴到(5)PEM名堂证书,最后点击“保留”即可为网站设置SSL证书。
(2)自主部署Free SSL证书
若是服务器安装的是Nginx,则参考以下步骤进行SSL证书部署。
找到网站的Nginx的网站设置文件,可能存放在
这样的目录下的
,差异服务器可能不尽相同。在网站的Nginx设置文件添加下列注释的行(相关信息替换成自己网站的):
server { #在80端口监听行下方增添443端口监听 listen 443 ssl http2; #若是需要http跳转https,在域名指向目录下方增添下面规则,注重将域名替换为自己的域名 if ($http_host !~ "^bt\.wbolt\.com$") { rewrite ^(.*) https://bt.wbolt.com$1 permanent; } #SSL-START SSL相关设置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #填写.pem证书的存放路径,注重将证书保留路径改为自己服务器的路径 ssl_certificate /usr/local/nginx/conf/ssl/bt.wbolt.com/bt.wbolt.com.pem; #填写私钥的存放路径,注重将证书保留路径改为自己服务器的路径 ssl_certificate_key /usr/local/nginx/conf/ssl/bt.wbolt.com/bt.wbolt.com.key; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; }
若是服务器安装的是Apache,则参照以下步骤进行SSL证书部署。
找到网站的Apache的网站设置文件,可能存放在
,差异服务器可能不尽相同。在网站的Apache设置文件添加下列行(相关信息需替换自己的):
<VirtualHost *:443> #网站路径、域名地址及Log路径均要替换成自己的 ServerAdmin webmaster@example.com DocumentRoot "/www/wwwroot/bt.wbolt.com/" ServerName SSL.bt.wbolt.com ServerAlias bt.wbolt.com #errorDocument 404 /404.html ErrorLog "/www/wwwlogs/bt.wbolt.com-error_log" CustomLog "/www/wwwlogs/bt.wbolt.com-access_log" combined #SSL 以下是设置SSL证书的信息,切记将证书文件路径及文件换成自己的 SSLEngine On SSLCertificateFile /usr/local/apache/conf/ssl/bt.wbolt.com/bt.wbolt.com.pem SSLCertificateKeyFile /usr/local/apache/conf/ssl/bt.wbolt.com/bt.wbolt.com.key SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5 SSLProtocol All -SSLv2 -SSLv3 -TLSv1 SSLHonorCipherOrder On #PHP <FilesMatch \.php$> SetHandler "proxy:unix:/tmp/php-cgi-56.sock|fcgi://localhost" </FilesMatch> #DENY FILES <Files ~ (\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)$> Order allow,deny Deny from all </Files> #PATH 网站路径需替换成自己网站的路径 <Directory "/www/wwwroot/bt.wbolt.com/"> SetOutputFilter DEFLATE Options FollowSymLinks AllowOverride All Require all granted DirectoryIndex index.php index.html index.htm default.php default.html default.htm </Directory> </VirtualHost>
选项3 –使用Cloudflare或Sucuri安装SSL证书
Cloudflare和Sucuri是所谓的反向署理服务。您可以将它们视为中央人。您将DNS指向他们,然后他们将您的请求路由到网站服务器。因此,需要接纳一些其他步骤来确保准确安装SSL证书。
使用Cloudflare
Cloudflare允许通过HTTPS加载网站的两种差异方式:Flexible或者Full (Full strict)。
- Flexible-允许Cloudflare与网站服务器之间通过HTTP(未加密)毗邻,而且不需要SSL证书。
- Full需要Cloudflare和网站服务器之间通过HTTPS(加密)毗邻。
第1步:在Cloudflare中,切换至“Crypto”选项卡,然后关闭SSL(也建议将Cloudflare设置为development mode(开发模式),直到网站服务器的SSL准备停当为止。您可以通过overview面板上的快速操作来执行此操作。)
在Cloudflare中关闭SSL
第2步:通过前面的教程在网站服务器的宝塔安装免费SSL证书或手动部署安装免费SSL证书。
第3步:一旦在网站服务器上乐成安装了SSL证书,请将Cloudflare的加密级别设置为Full或Full(严酷),以便从网站服务器到客户端浏览器的毗邻一直被加密。
将Cloudflare的SSL模式设置为“Full”。
第4步:然后祛除Cloudflare缓存。而且,若是您将网站置于开发模式,请确保将其设置为流动状态。
祛除Cloudflare缓存
使用Sucuri
您必须首先联系他们的客户,并让他们启用“forward certificate validation.”设置。这允许HTTPS设置乐成完成。然后,您可以通过上述教程在网站服务器的宝塔安装免费SSL证书或手动部署安装免费SSL证书。
检查&续订SSL证书
(1)检查SSL证书
安装SSL证书后,建议您运行SSL检查以验证所有设置是否准确。
(2)续订SSL证书
差其余SSL证书,其续订方式不尽相同。
Let’s Encrypt免费SSL证书续订
通过宝塔控制面板申请的免费SSL证书(Let’s Encrypt),需要你在宝塔控制面板手动执行续订操作。点击“网站”,选择你需要续订SSL证书的网站域名,点击“设置”操作。
在弹出窗口点击“SSL”菜单,切换至“Let’s Encrypt”选项卡,点击“续签按钮。”
宝塔SSL免费证书续订
若是你是通过宝塔控制面申请的一年免费SSL证书,即TrustAsia DV SSL CA – G5证书。这个证书是无法续订的,必须在证书过时后重新申请。
Free SSL免费证书续订
若是申请的是Free SSL免费证书,那到期后,也是可以上岸freessl网站进行续订的。
注:若是您的站点使用了诸如Sucuri之类的反向署理后面,则必须与他们的客户支持部门联系,并让他们启用“forward certificate validation.”设置,以允许HTTPS更新乐成完成。
强制HTTPS
宝塔控制面板强制HTTPS
安装SSL证书后,您可以在宝塔控制面板中选择“强制HTTPS”。此功效可以试想将所有HTTP请求转为HTTPS。
在宝塔控制面板开启强制HTTPS
手动设置强制HTTPS
若是你的网站服务器为Apache服务器,需要在网站的Apache设置文件添加下列行
#HTTP_TO_HTTPS_START HTTP请求强制跳转HTTPS <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{SERVER_NAME}$1 [L,R=301] </IfModule> #HTTP_TO_HTTPS_END
若是你的网站服务器为Nginx服务器,需要在网站的Nginx设置文件添加下列行
server { #若是需要http跳转https,在域名指向目录下方增添下面规则,注重将域名替换为自己的域名 if ($http_host !~ "^bt\.wbolt\.com$") { rewrite ^(.*) https://bt.wbolt.com$1 permanent; } }
其他注重事项
网站设置https,还需要注重的一些事项:
1.夹杂内容问题
夹杂内容问题,即在统一页面地址,同时使用了http和https两种协议请求资源。解决设施如下:
务必在WordPress仪表盘-设置,将WordPress地址和站点地址的URL改为https协议的URL地址,如下图所示:
然后确保WordPress主题设置内里的一些本域的URL地址替换成https协议的URL地址。
否则可能会造成跨域问题,启用了https也会在浏览器提醒不平安。
完成上述操作,照样会提醒跨域问题,可以通过查看源代码,找到非https协议的URL链接,再有针对性地去解决。
2.图片资源未能转为https协议链接问题
理论上,当你将WordPress地址和站点地址调换为https协议的URL地址后,这个问题会解决。
但也有可能存在特殊的情形。若是照样存在这样的问题,你可以实验数据库批量替换下令来修复这一问题。
第1步:进入网站对应的phpMyAdmin;
第2步:在左侧数据库表选择网站对应的数据库名称;
第3步:点击顶部导航切换到“SQL”标签;
第4步:在运行SQL查询框输入下列下令行;
UPDATE wp_posts SET post_content = replace(post_content, 'http://你的域名','https://你的域名');
第5步:最后点击“执行”即可将文章内容http协议的本站URL替换为https协议。
注:操作数据库前务必先备份数据库。以防操作失误,可有备份供恢复。
如何查找挖掘WordPress隐藏的用户数据