96SEO 2025-11-02 19:05 1
1. 拉取Nginx镜像

docker pull nginx
2. 创建并运行Nginx容器
docker run -d --name nginx -p 80:80 nginx
3. 挂载数据卷
docker run -d --name nginx -p 80:80 -v /path/to/nginx/conf.d:/etc/nginx/conf.d nginx
4. 沉启容器
docker restart nginx
1. 获取SSL证书
您能选择买证书或用Let's Encrypt免费证书。以下为获取Let's Encrypt证书的步骤:
docker run --rm -p 80:80 -p 443:443 --name letsencrypt nginx
docker exec -it letsencrypt bash
./letsencrypt certonly --webroot --webroot-path=/path/to/your/webroot --email -d your-domain.com
2. 生成私钥和证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /path/to/nginx/ssl/private.key -out /path/to/nginx/ssl/certificate.crt
3. 修改Nginx配置文件
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/nginx/ssl/certificate.crt;
ssl_certificate_key /path/to/nginx/ssl/private.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
...
}
server {
listen 80;
server_name your-proxy-domain.com;
location / {
proxy_pass http://your-target-domain.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
2. 修改SSL配置
server {
listen 443 ssl;
server_name your-proxy-domain.com;
ssl_certificate /path/to/nginx/ssl/certificate.crt;
ssl_certificate_key /path/to/nginx/ssl/private.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
...
}
1. 沉启Nginx容器
docker restart nginx
2. 访问代理域名
眼下您得能够通过代理域名访问目标域名,一边享受SSL/TLS加密带来的平安护着。
通过以上步骤,您能在Docker容器中平安运行Nginx Web服务器并配置SSL/TLS证书。这种方式不仅搞优良了应用程序的平安性,还简化了运维干活,使得Web应用程序的部署和管理更加高大效。
Demand feedback