前言: 本人的ssl证书是申请的阿里的免费ssl 上阿里云控制台ssl证书申请即可.
1.首先定义nginx.conf的文件为了方便我们定义对应的负载和ssl证书配置并将配置挂在到docker容器中
我的nginx.conf配置如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#配置对应的负载地址
upstream barcke{
server 172.17.0.1:2411 weight=10;
}
#监听 来源是barcke.com端口为80的 也就是http的 监听到后转发到https中
server {
listen 80;
server_name barcke.com;
rewrite ^ https://$http_host$request_uri? permanent;
}
#监听 来源是www.barcke.com端口为80的 也就是http的 监听到后转发到https中
server {
listen 80;
server_name www.barcke.com;
rewrite ^ https://$http_host$request_uri? permanent;
}
server {
listen 443;
server_name barcke.com www.barcke.com; # 修改为你的域名
ssl on;
root html;
index index.html index.htm;
ssl_certificate 4155708_barcke.com.pem; #对应的密钥文件的路尽地址 如若是相对路径则在/etc/nginx下
ssl_certificate_key 4155708_barcke.com.key; #对应的密钥文件的路尽地址 如若是相对路径则在/etc/nginx下
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://barcke; #对应的负载的地址 http://后跟着的为上面定义的负载的name
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 2000m;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
proxy_read_timeout 3600;
}
}
}
2.配置好nginx.conf文件后 将我们的ssl证书 copy到 服务器中并执行如下命令即可
docker run --name nginx -p 80:80 -p 443:443 -v 你服务器对应的nginx.conf的绝对路径:/etc/nginx/nginx.conf -v 你服务器中对应的pem密钥文件的绝对路径:给定你nginx.conf中对应的绝对路径 -v 你服务器中对应的key公钥文件的绝对地址:给定你nginx.conf中对应的绝对路径 nginx
安装成功后就是这样啦.
文章到这里结束,另不懂就问~