docker安装nginx并配置通过https访问的方法
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,1. 下载最新的nginx的docker image$ docker pull nginx:latest2. 启动nginx容器运行如下命令来启动nginx containerdocker run -
千家信息网最后更新 2026年11月02日docker安装nginx并配置通过https访问的方法
1. 下载最新的nginx的docker image
$ docker pull nginx:latest
2. 启动nginx容器
运行如下命令来启动nginx container
docker run --detach \ --name wx-nginx \ -p 443:443\ -p 80:80 \ -v /home/evan/workspace/wxserver/nginx/data:/usr/share/nginx/html:rw\ -v /home/evan/workspace/wxserver/nginx/config/nginx.conf:/etc/nginx/nginx.conf/:rw\ -v /home/evan/workspace/wxserver/nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw\ -v /home/evan/workspace/wxserver/nginx/logs:/var/log/nginx/:rw\ -v /home/evan/workspace/wxserver/nginx/ssl:/ssl/:rw\ -d nginx
- 映射端口443,用于https请求
- 映射端口80,用于http请求;
- nginx的默认首页html的存放目录映射到host盘的目录, /home/evan/workspace/wxserver/nginx/data
- nginx的配置文件映射到host盘的文件,/home/evan/workspace/wxserver/nginx/config/nginx.conf
这里需要准备如下几个文件,
1、nginx的配置文件
首先是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 /etc/nginx/conf.d/*.conf;}可以看到最后一行还要包含另一个配置文件conf.d/default.conf,用来配置server字段
server { listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉 server_name www.buagengen.com; #域名 #charset koi8-r; #access_log /var/log/nginx/host.access.log main; # 定义首页索引目录和名称 location / { root /usr/share/nginx/html; index index.html index.htm; } #定义错误提示页面 #error_page 404 /404.html; #重定向错误页面到 /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; }}2、nginx的默认首页的html文件
这个html可以自己定义一个,任意的都可以。
这个时候直接通过IP地址就可以访问nginx定义的这个html文件了。但是这个时候的访问只是http的,https的访问还是不行的,需要添加证书到nginx服务器。
3. 通过openssl生成证书
设置server.key,这里需要设置两遍密码:
openssl genrsa -des3 -out server.key 1024
参数设置,首先这里需要输入之前设置的密码:
openssl req -new -key server.key -out server.csr
然后需要输入如下的信息,大概填一下就可以了,反正是测试用的
Country Name (2 letter code) [AU]: 国家名称State or Province Name (full name) [Some-State]: 省Locality Name (eg, city) []: 城市Organization Name (eg, company) [Internet Widgits Pty Ltd]: 公司名Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: 网站域名Email Address []: 邮箱Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []: 这里要求输入密码An optional company name []:
写RSA秘钥(这里也要求输入之前设置的密码):
openssl rsa -in server.key -out server_nopwd.key
获取私钥:
openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt
完成这一步之后就得到了我们需要的证书文件和私钥了
- server.crt
- server.key
4. 配置nginx服务器,支持https访问
把前面一步生成的文件拷贝到host上的ssl目录,/home/evan/workspace/wxserver/nginx/ssl。
然后修改配置文件default.conf,添加ssl支持,
server { listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉 listen 443 ssl; server_name www.buagengen.com; #域名 # 增加ssl #ssl on; #如果强制HTTPs访问,这行要打开 ssl_certificate /ssl/server.crt; ssl_certificate_key /ssl/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; # 指定密码为openssl支持的格式 ssl_protocols SSLv2 SSLv3 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; # 密码加密方式 ssl_prefer_server_ciphers on; # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码 # 定义首页索引目录和名称 location / { root /usr/share/nginx/html; index index.html index.htm; } #重定向错误页面到 /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; }}重启nginx容器,现在就可以通过https来访问nginx的服务器了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
文件
密码
配置
目录
服务器
端口
错误
首页
支持
服务
输入
名称
域名
证书
页面
强制
容器
日志
时候
格式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
伟宏互联网科技
广州淘业互联网络科技
互联网科技公司经营范围
鸠鸠互联网科技
科技类互联网
期待互联网科技
奔汉互联网科技
互联网高科技股票
深圳市运趣互联网科技有限公司
广州市恰铎互联网科技有限公司
996高科技互联网公司
威龙国际互联网科技公司
工业互联网等科技实现智能化赋能
产业互联网科技服务公司
广州燕处互联网科技有限公司
深圳互联网科技园地址
互联网科技对化妆品行业
科技互联网专业工作会议发言稿
杭州科技互联网公司有哪些
网互联网络科技
互联网科技图片
科技赋能下的互联网金融
银优互联网科技有限公司
奔汉互联网科技
互联网科技公司需要的职位
湖北码尼互联网科技有限公司电话
坤平互联网科技
互联网保险科技创业
爱医互联网络科技
求路客互联网科技电话