全站从http升级到https(WordPress博客)

640?wx_fmt=jpeg

87testing.com

最近几年HTTPS取代HTTP已经成为大趋势,HTTP是超文本传输协议,信息是明文传输的,而HTTPS是安全超文本传输协议,需要证书和提供安全连接,换句话说,HTTPS是嵌套了SSL加密的HTTP连接,其内容由SSL先加密,然后再传输。

简单来讲,HTTPS是加过密的HTTP。由于网络上传输的数据是加密的,用户在浏览网页时,除了用户自己可以看到当前在看什么网页,其他第三方是无法得知用户在做什么的。比如用户在网上登录或输入其他敏感信息进行传输时一旦使用HTTPS,那么数据传输就不是明文了,对于第三方来讲就无法获取你的敏感信息。

那么既然去趋势,自己也尝试着将自己的博客由HTTP升级到HTTPS,特做下记录和总结。以防后续再用,或者给需要的人做参考。

SSL证书选择

可以选择腾讯云、阿里云合作的赛门铁克签署的证书,申请后可以免费使用一年,据说,一年后可以继续申请,再换个证书就行了,有待验证,具体可在如下页面做申请,这里也不过多描述,申请的时候都有详细的说明。640?wx_fmt=png

申请完成后,进行下载,里面有apache、nginx等对应服务的证书:640?wx_fmt=png

SSL证书的配置

可先参考:https://cloud.tencent.com/document/product/400/4143

Ubuntu下的apache2目录结构是:

– 默认站点在 /var/www/	
– 配置文件在 /etc/apache2/	
– 日志在 /var/log/apache/	
– 启动脚本是 /etc/init.d/apache2

etc/apache2下的文件夹与文件

apache2.conf:Apache的主要配置文件,包含全局配置。	
envvars:Apache2环境变量设置。	
ports.conf:配置Apache监听的端口。	
mods-available:这个目录包含模块和模块配置文件,不是所有的模块都有配置文件。	
mods-enabled:持有/etc/apache2/mods-available目录下文件的链接,当该目录下有一个模块文件和其配置文件,那么Apache重启后该模块将生效。	
sites-available:这个目录包含Apache虚拟主机的配置文件。虚拟主机允许Apache配置多个站点并为每个站点配置不同的参数。后面下面配置的时候会配置80端口的http重定向为443的https。	
sites-enabled:持有/etc/apache2/sites-available目录下文件的链接。当Apache重启后,该目录中包含的站点将会被激活。
  • 下面以apache为例,将对应apache目录下的文件上传到服务器某一目录文件,比如我的全部放在目录/etc/apache2/sslcert

  • 安装openssl执行:

sudo apt-get install openssl
  • 开启ssl模块执行:

sudo a2enmod ssl
  • 进入/etc/apache2/ports.conf查看是否监听Listen 443,没有就加上

  • 配置ssl虚拟站点,安装openssl后会在/etc/apache2/site-available目录下生成default-ssl文件,此时需要创建一个软连接到/etc/apache2/sites-enabled目录下:

sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf

如下软连接就建立好了:640?wx_fmt=png

  • 修改 001-ssl.conf 配置

SSLEngine on	
SSLCertificateFile  /etc/apache2/sslcert/2_www.87testing.com.crt	
SSLCertificateKeyFile  /etc/apache2/sslcert/3_www.87testing.com.key	
SSLCertificateChainFile  /etc/apache2/sslcert/1_root_bundle.crt
  • 配置好后重启:

sudo service apache2 restart

这时候访问https://87testing.com,就可以正常打开可信任了

设置HTTP重定向为HTTPS

  • 启动重定向: sudo a2enmod rewrite #启动rewrite mod

  • 设置http端口重定向,在网站根目录wordpress下新建.htaccess文件,在文件中输入内容:

RewriteEngine On	
RewriteCond %{SERVER_PORT} 80	
RewriteRule ^(.*)$ https://www.87testing.com/$1 [R=301,L]	
RewriteCond %{HTTP_HOST} ^87testing.com [NC]	
RewriteRule ^(.*)$ https://www.87testing.com/$1 [L,R=301]

将数据库写死的http修改为https

服务器上进入当前数据库:

Update wp_options set option_value = ‘https://87testing.com’ where option_id in(1,2);	
update wp_posts set post_content = replace(post_content, 'http://87testing.com','https://87testing.com');

最后重启下apache服务:

sudo service apache2 restart

此时不管输入87testing.com就可以正常跳转到https://87testing.com,并且可信任了。。。640?wx_fmt=png

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值