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


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

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

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

    SSL证书选择

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

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

    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
    

    如下软连接就建立好了:

    - 修改 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,并且可信任了。。。

  • 相关阅读:
    初学Python,对于开发工具不是很了解?一文带你选择适合你的开发工具
    Python文学家为Python写的一首词?(附中英文版)
    大数据到底怎么学: 数据科学概论与大数据学习误区
    Python写代码的时候为什么要注释?Sun因此被Oracle收购
    大数据分析:大数据时代如何发现身边的大数据?
    大数据经典学习路线(及供参考)之 一
    关于如何获取移动端 touchmove 事件中真正触摸点下方的元素
    webservice
    VS文件后缀名大全详解
    string 转 char* (C#)
  • 原文地址:https://www.cnblogs.com/ceshijiagoushi/p/9961720.html
Copyright © 2020-2023  润新知