原创文章,欢迎转载。转载请注明:转载自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 ssl
cd /etc/apache2/ssl
rz
#将华为云的三个证书上传到这个目录下
- 配置/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
按照我的进行修改。红色指的这几个修改下
- 检查配置
查看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>
- 重启apache
service docker restart
docker wordpress容器增加端口
- 找到wordpress容器
cd /var/lib/docker/containers
- 为了防止你眼花弄错 先备份
cp config.v2.json config.v2.json_bak
cp hostconfig.json hostconfig.json_bak
- 停止docker
systemctl stop docker 或者 service docker stop
- 修改增加端口
原来只有80 我增加了443
vi hostconfig.json
原来只有80 我增加了443
vi config.v2.json
- 保存之后启动docker
增加了443
systemctl start docker
安全组中增加443
安装插件
只需要这2个插件
终于搞定
输入:idig8.com自动跳转
PS:在云主机多亏了备份,有几次一不小心都差点起不来了自己写的文章都白费了,一定要给机器备份后在弄,防止你的一个字母写错满盘皆输。参考https://peter.pudaite.net/2017/05/29/enabling-https-on-the-standard-wordpress-docker-image/ 老外写的很稳