Docker中使用Nginx镜像配置HTTPS和HTTP强制使用HTTPS访问(4)
一、前言
上一文章当中说了Docker-Compose管理镜像和容器,本文章介绍使用Docker中Nginx镜像,使用的工具和ubuntu版本在ASP.NET CORE部署在Docker容器中已详细说明。
二、Docker-Nginx配置
拉取Nginx镜像
docker pull nginx
查看镜像
docker images
使用挂载nginx配置文件的方式,新建文件夹,文件夹内新建nginx.conf和default.conf,新建ssl文件夹将证书上传到文件夹中。

nginx.conf配置文件内容
#运行nginx的用户 user nginx; #启动进程设置成和CPU数量相等 worker_processes 1; #全局错误日志及PID文件的位置 error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; #工作模式及连接数上限 events { #单个后台work进程最大并发数设置为1024 worker_connections 1024; } http { #设定mime类型 include /etc/nginx/mime.types; default_type application/octet-stream; #设定日志格式 log_format main '$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.log main; sendfile on; #tcp_nopush on; #设置连接超时的事件 keepalive_timeout 65; #开启GZIP压缩 #gzip on; include server/*.cn; include /etc/nginx/conf.d/*.conf; }
default.conf配置文件内容
server { ## 443端可以是https的专用端口 listen 443 ssl; server_name 域名; ssl_certificate /ssl/ca.crt; ssl_certificate_key /ssl/ca.key; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { # proxy_pass http://localhost:5000; proxy_pass 容器地址,禁止使用127.0.0.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_buffers 4 32k; client_max_body_size 8m; client_body_buffer_size 128; } } #强制HTTP跳转HTTPS server { listen 80; server_name 域名; rewrite ^(.*) https://$server_name; }
启动nginx容器并且挂载文件
sudo docker run --name nginx -d -p 443:443 -p 80:80 -v /home/cs-root/Nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/cs-root/Nginx/default.conf:/etc/nginx/conf.d/dafault.conf -v /home/cs-root/Nginx/ssl:/ssl/:rw nginx
我所遇到的问题:
Nginx 代理地址如果是本地 不能使用127.0.0.1或loacalhost 应使用服务器ip。
内网通过域名访问不了:公网ip映射域名错误。
Docker Nginx介绍到这里就结束了,如遇到问题,可以进行评论留言。

浙公网安备 33010602011771号