实验简述
使用docker的centos镜像,在里面安装nginx,然后拿自生成的签名,配置nginx证书,最后通过https访问服务器
docker版本:Docker version 18.09.2, build 6247962 centos 镜像: docker search 里面检索出来拿最新的就可以了 nginx版本:nginx-1.15.9 pcre版本:pcre-8.42 ssl证书:自签名获取
自签名SSL证书
$ openssl genrsa -out server.key 2048
$ openssl req -subj
"/C=CN/ST=Tianjin/L=Tianjin/O=Mocha/OU=Mocha Software/CN=test1.sslpoc.com/emailAddress=test@mochasoft.com.cn" -new -key server.key -out server.csr
$ openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
参考博文:如何创建自签名SSL证书
启动centos镜像
docker search centos
docker pull centos:latest
docker run -d -t -p80:80 -p443:443 centos
docker
exec -it
<CONTAINER ID
> bash
启动效果:
安装基础软件
yum -y
install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
yum -y
install wget
安装pcre
wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
tar -xvf pcre-8.42.tar.gz
cd pcre-8.42
./configure
make && make install
pcre-config --version
安装nginx
wget https://nginx.org/download/nginx-1.15.9.tar.gz
tar -xvf nginx-1.15.9.tar.gz
cd nginx-1.15.9
./configure --prefix
=/usr/local/nginx-1.15.9 --with-http_stub_status_module --with-http_ssl_module --with-pcre
=/usr/local/pcre-8.42
make && make install
/usr/local/nginx/sbin/nginx -v
启动nginx
mkdir /usr/local/nginx-1.15.9/logs/
touch error.log
touch access.log
/usr/local/nginx-1.15.9/sbin/nginx -c /usr/local/nginx-1.15.9/conf/nginx.conf
curl http://localhost
配置ssl证书到nginx
将第一步骤证书文件cp到docker容器里面
docker
cp server.crt
<CONTAINER ID
>:/usr/local/nginx-1.15.9/conf/
docker
cp server.key
<CONTAINER ID
>:/usr/local/nginx-1.15.9/conf/
修改nginx.conf,往http的对象里添加证书配置,cd如下
server
{
listen 443 ssl
;
server_name localhost
;
ssl_certificate server.crt
;
ssl_certificate_key server.key
;
ssl_session_cache shared:SSL:1m
;
ssl_session_timeout 5m
;
ssl_ciphers HIGH:
!aNULL:
!MD5
;
ssl_prefer_server_ciphers on
;
location /
{
root html
;
index index.html index.htm
;
}
}
参考:Nginx配置SSL证书
重新启动nginx,显示,说明https已经配置成功
rm -rf ./sbin/nginx
cp ./objs/nginx ./sbin/
启动 nginx -c nginx.conf 重启nginx -s reload
参考文章:centos7下安装nginx