『中级篇』docker之wordpress容器SSL(番外篇)(78)
2018-11-03 09:05:01
李明
  • 访问次数: 172
  • 注册日期: 2018-07-09
  • 最后登录: 2018-11-13

原创文章,欢迎转载。转载请注明:转载自 IT人故事会,谢谢!
原文链接地址: 『中级篇』docker之wordpress容器SSL(番外篇)(78)

搞了2天终于搞定了,现在分享给大家。 apache2 容器内安装SSL实现wordpress证书安装。

前提

『中级篇』docker容器安装wordpress(37) 通过上边的方式已经安装了wordpress 和mysql ,可以正常的访问

准备工作

  • 进入容器

docker exec -it wordpress的容器名称 /bin/bash
  • 开启SSL

其中一个有结果就算通过了

a1enmod ssl  或者  a2enmod ssl
  • 容器安装vi 和 rz

apt-get update#编辑文件使用apt-get install vim#从阿里或者腾讯云,华为云申请的证书上传apt-get install lrzsz
  • 证书上传

cd /etc/apache2
mkdir sslcd /etc/apache2/ssl
rz#将华为云的三个证书上传到这个目录下

1240

  • 配置/etc/apache2/sites-enabled/default-ssl.conf

#如果没有的话从/sites-available里面复制过去cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf#修改文件vi /etc/apache2/sites-enabled/default-ssl.conf

按照我的进行修改。红色指的这几个修改下

1240

  • 检查配置

查看apache2/sites-enabled目录下是否存在default-ssl.conf,
查看apache2/mods-enabled目录下是否存在ssl.conf、ssl.load
如果存在,那就说明没问题了,如果不存在的话,从相应的sites-available目录下复制进去。

  • http请求强制跳转到https

vi /etc/apache2/sites-available/000-default.conf

增加下面的配置

ServerAdmin webmaster@
DocumentRoot /var/www/html
<Directory "/var/www/html"> 
  RewriteEngine   on
  RewriteBase /  # FORCE HTTPS
  RewriteCond %{HTTPS} !=on
  RewriteRule ^/?(.*) [https://%](https://%25/){SERVER_NAME}/$1 [R,L]</Directory>

1240

  • 重启apache

service docker restart

docker wordpress容器增加端口

  • 找到wordpress容器

cd /var/lib/docker/containers

1240

  • 为了防止你眼花弄错 先备份

cp config.v2.json config.v2.json_bakcp hostconfig.json hostconfig.json_bak

1240

  • 停止docker

systemctl stop docker 或者 service docker stop
  • 修改增加端口

原来只有80 我增加了443

vi hostconfig.json

1240

原来只有80 我增加了443

vi  config.v2.json

1240

  • 保存之后启动docker

增加了443

 systemctl start docker

1240

安全组中增加443

1240

安装插件

只需要这2个插件

1240

终于搞定

输入:idig8.com自动跳转

1240

PS:在云主机多亏了备份,有几次一不小心都差点起不来了自己写的文章都白费了,一定要给机器备份后在弄,防止你的一个字母写错满盘皆输。参考 https://peter.pudaite.net/2017/05/29/enabling-https-on-the-standard-wordpress-docker-image/ 老外写的很稳

1240