基于docker启动nginxssl配置
前提条件
- 一台云服务器(阿里云、腾讯云等的centOS)
- 服务器上面要有docker(安装方法这里不做介绍)
- 一个域名
- ssl证书(两个文件:一个key后缀,一个pem后缀;生成方法很多这里不再介绍)
下载最新的nginx的dockerimage
dockerpullnginx:latest
创建目录nginx,用于存放后面的相关东西
mkdir-p/home/nginx/www/home/nginx/logs/home/nginx/conf
把我们的静态HTML页面放到/home/nginx/www文件夹下面;
在创建的/home/nginx/conf文件夹下面创建一个叫nginx.conf的文件如下:
usernginx;
worker_processes1;
error_log/var/log/nginx/error.logwarn;
pid/var/run/nginx.pid;
events{
worker_connections1024;
}
http{
include/etc/nginx/mime.types;
default_typeapplication/octet-stream;
log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'
'$status$body_bytes_sent"$http_referer"'
'"$http_user_agent""$http_x_forwarded_for"';
access_log/var/log/nginx/access.logmain;
sendfileon;
#tcp_nopushon;
keepalive_timeout65;
#gzipon;
include/etc/nginx/conf.d/*.conf;
部署nginx
dockerrun-d-p80:80-p443:443--namenginx-server-v/home/nginx/www:/usr/share/nginx/html-v/home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf-v/home/nginx/logs:/var/log/nginxnginx
命令说明:
-p80:80:将容器的80端口映射到主机的80端口。
-p443:443:将容器的80端口映射到主机的443端口。
--namenginx-server:将容器命名为nginx-server。-v/home/nginx/www:/usr/share/nginx/html:将我们自己创建的www目录挂载到容器的/usr/share/nginx/html。
-v/home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:将我们自己创建的nginx.conf挂载到容器的/etc/nginx/nginx.conf。
-v/home/nginx/logs:/var/log/nginx:将我们自己创建的logs挂载到容器的/var/log/nginx。
启动之后便可以通过域名访问到我们的HTML页面了,但是还没完
修改nginx.conf
在我们刚刚创建的nginx.conf文件里面插入以下内容:(注意先不要重启)
server{
listen443ssl;
server_namefightingtop.cnwww.fightingtop.cn;
root/usr/share/nginx/html;
ssl_certificate/ssl/certificate.pem;
ssl_certificate_key/ssl/2832429_fightingtop.cn.key;
ssl_session_timeout5m;
ssl_session_cacheshared:SSL:1m;
ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:aNULL:!MD5:!ADH:!RC4;
ssl_protocolsTLSv1TLSv1.1TLSv1.2;
ssl_prefer_server_cipherson;
location/{
root/usr/share/nginx/html;
indexindex.htmlindex.htm;
}
}
server{
listen80;
server_namefightingtop.cnwww.fightingtop.cn;
rewrite^https://$host$1permanent;
}
将两个证书文件拷贝到nginx容器
先进入nginx容器在根目录创建一个ssl文件夹,用来放证书
dockerexec-itaa5badebd38a/bin/bash
开始拷贝证书
dockercp/home/ssl/certificate.keyaa5badebd38a:/ssl/
dockercp/home/ssl/certificate.pemaa5badebd38a:/ssl/
大功告成啦,重启完事!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。