docker apache2安装SSL

发布于 2019-04-10  141 次阅读


环境

系统:CentOS 7_03_64

web服务器:Apache2

前提

SSL证书:下载Apache服务器证书

安装了Open SSL

准备

创建ssl目录

mkdir /etc/apache2/ssl

将证书复制到ssl目录下

cp -r YourDomainName_public.crt /etc/apache2/ssl
cp -r YourDomainName_chain.crt /etc/apache2/ssl
cp -r YourDomainName.key /etc/apache2/ssl

启动ssl模块

a2enmod ssl

配置/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

在 default-ssl.conf文件中找到以下参数进行修改后保存并退出。

<IfModules mod_ssl.c>
<VirtualHost *:443>  
ServerName 
#修改为证书绑定的域名www.YourDomainName.com。
SSLCertificateFile /etc/apache2/www.YourDomainName_public.crt 
#将/etc/apache2/www.YourDomainName.com_public.crt替换为证书文件路径+证书文件名。
SSLCertificateKeyFile /etc/apache2/www.YourDomainName.com.key  
#将/etc/apache2/www.YourDomainName.com.key替换为证书秘钥文件路径+证书秘钥文件名。
SSLCertificateChainFile /etc/apache2/www.YourDomainName.com_chain.crt  
#将/etc/apache2/www.YourDomainName.com_chain.crt替换为证书链文件路径+证书链文件名。

http请求强制跳转到https

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

增加下面的配置

<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容器增加端口 443

cd /var/lib/docker/containers

停止docker

systemctl stop docker 或者 service docker stop

修改增加端口

vi hostconfig.json
vi  config.v2.json

启动docker

 systemctl start docker

启动容器

 docker start 容器ID

最后开启安全组443端口


不以物喜,不以己悲。