在 Docker 中启动 NGINX 并配置 HTTPS 443 端口时,你需要挂载 SSL 证书和密钥文件,并更新 NGINX 配置文件。以下是详细步骤:
1. 准备证书文件
确保你有 SSL 证书和私钥文件,通常是两个文件:
certificate.crt
(证书文件)certificate.key
(私钥文件)
将这两个文件放到主机的一个目录下,比如:/path/to/certificates/
2. 配置 NGINX 配置文件
在 NGINX 的配置文件中,为 HTTPS 配置 443 端口并指定证书路径。你可以创建一个自定义的 NGINX 配置文件 nginx.conf
,如下所示:
server {
listen 443 ssl;
server_name your_domain.com;
# 此处使用docker容器内的地址
ssl_certificate /etc/nginx/certificates/certificate.crt;
ssl_certificate_key /etc/nginx/certificates/certificate.key;
location / {
proxy_pass http://your_backend;
}
}
server {
listen 80;
server_name your_domain.com;
# 自动重定向到 HTTPS
return 301 https://$host$request_uri;
}
在上面的配置中:
- 替换
your_domain.com
为你的域名。 ssl_certificate
和ssl_certificate_key
指向证书和密钥的挂载路径。
3. 使用 Docker 启动 NGINX 并挂载证书
在 Docker 启动命令中挂载证书文件夹以及自定义的 nginx.conf
配置文件:
docker run -d --name nginx-https \
-p 80:80 -p 443:443 \
-v /path/to/certificates:/etc/nginx/certificates \
-v /path/to/nginx.conf:/etc/nginx/nginx.conf \
nginx
在此命令中:
-v /path/to/certificates:/etc/nginx/certificates
将主机的证书目录挂载到容器中。-v /path/to/nginx.conf:/etc/nginx/nginx.conf
将自定义的nginx.conf
配置文件挂载到 NGINX 容器中。
4. 验证配置
启动容器后,可以检查容器日志或进入容器查看 NGINX 的状态,以确保 HTTPS 配置正确。