最近几年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,并且可信任了。。。

全站从http升级到https(WordPress博客)的更多相关文章

  1. Docker搭建wordpress博客环境(Centos7)

    Docker搭建wordpress博客环境(Centos7) 升级系统 yum -y update 设置docker库 sudo yum install -y yum-utils sudo yum-c ...

  2. 2021年Wordpress博客搭建

    2021年WordPress博客搭建教程 这是一篇关于2021最新版的WP个人博客搭建教程.整篇文章会事无巨细的一步步讲述搭建博客的每一步. 0.前言 随着互联网和移动互联网的飞速发展,博客这一功能恍 ...

  3. 3步!完成WordPress博客迁移与重新部署

    本文来自于轻量应用服务器征文活动的用户投稿,已获得作者(昵称nstar)授权发布. 由于现有的服务器已经到期,并且活动已经取消,续费一个月145元比较贵,于是参加了阿里云的活动购买一台轻量应用服务器. ...

  4. 使用Word发布文章到 WordPress 博客

    使用Word发布文章到 WordPress 博客 我们都知道,WordPress 自带的编辑器功能比较弱,而使用 Word 编辑文档却功能强大.其实我们使用 Word 编辑好的文档也是可以直接发布到 ...

  5. Coding.net代码托管空间申请与使用-安装并运行WordPress博客

    参考: http://www.freehao123.com/coding-net/ Coding.net这是一个国内新兴的代码托管平台,功能主要包括:代码托管.在线运行环境.监控代码质量,兼有一定的社 ...

  6. LNMP架构之搭建wordpress博客网站

    系统环境版本 [root@db02 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@db02 ~]# uname -a Lin ...

  7. 使用docker部署WordPress博客系统(win10企业版)

    docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...

  8. 小白用linode VPS搭建wordpress博客过程备忘 | Linode中文教程

    第一步:装debian系统 1.访问linode官方网站,查看http://library.linode.com/getting-started,我用的是debian系统,用putty登录,升级deb ...

  9. 虚拟机之 Wordpress博客搭建

    WordPress博客需要LAMP环境,---  LAMP 官网:https://cn.wordpress.org/ wordpress-4.4.1版本环境要求是: php 5.2.4或以上 mysq ...

  10. LNMP环境搭建之php安装,wordpress博客搭建

    LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...

随机推荐

  1. sqlitestudio

    SQLite数据库的特性 特点: 1.轻量级2.独立性,没有依赖,无需安装3.隔离性 全部在一个文件夹系统4.跨平台 支持众多操作系统5.多语言接口 支持众多编程语言6.安全性 事物,通过独占性和共享 ...

  2. POJ - 1287 Networking 【最小生成树Kruskal】

    Networking Description You are assigned to design network connections between certain points in a wi ...

  3. hihoCoder week227 Longest Subsequence

    题目链接 https://hihocoder.com/contest/hiho227/problem/1 题目详解 https://hihocoder.com/discuss/question/558 ...

  4. C++笔记(2018/2/7)

    类class 类的名字就是用户自定义的类型的名字.可以像使用基本类型那样来使用它. 一个类所占用的内存空间的大小,等于所有成员变量的大小之和. 类之间可以用 "="进行赋值,但是不 ...

  5. 创建react项目

    npm搭建React项目 React官网提供最简便的方法是使用create-react-app npx create-react-app my-app cd my-app npm start 也可以自 ...

  6. 深入理解char * ,char ** ,char a[ ] ,char *a[]

    1.数组的本质 数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素. 2.指针 指针也是一种变量,只不过它的内存单元中保存的是一个标识其他位置的地址.由于地址也 ...

  7. 小米MAX开发者选项 以及如何连接MAC开发RN

    打开开发者选项:设置--我的设备---全部参数-- 多次点击MiUI版本 打开开发者选项 然后返回到设置的主页面里面的更多设置就可以看到开发者选项了 在开发者选项中打开 USB调试/USB安装 将启动 ...

  8. Oracle分页查询排序数据重复问题

    参考资料: http://docs.oracle.com/database/122/SQLRF/ROWNUM-Pseudocolumn.htm#SQLRF00255 http://blog.csdn. ...

  9. 鼠标经过事件(onmouseover)

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  10. python 移动文件夹

    xxx@ddd:~$ mkdir testa testb >>> import shutil >>> shutil.move("/home/xxx/tes ...