阿里云服务器配置ssl-docker nginx
# 切换到您当前的目录
cd /AAAAAAAAAAAA# 创建存放nginx配置、证书和日志的目录结构
mkdir -p nginx-config/conf.d nginx-ssl nginx-logs# 为挂载做准备,您可能需要将当前dist目录内容移动到新的html目录
# 首先查看当前dist目录的内容
ls -la dist/# 如果html目录不存在,可以创建并复制文件(假设dist目录里是您的网站文件)
mkdir -p nginx-html
cp -r dist/* nginx-html/
从阿里下nginx证书压缩包
#将证书放入证书文件夹
cp xxx.cn.pem xxx.cn.key nginx-ssl/
# 创建存放主配置文件的目录(如果尚未创建)
mkdir -p nginx-config# 从容器中复制 nginx.conf 到宿主机
docker cp 862c2ce78d42:/etc/nginx/nginx.conf ./nginx-config/# 从容器中复制 conf.d 目录下的所有默认配置(例如 default.conf)
docker cp 862c2ce78d42:/etc/nginx/conf.d ./nginx-config/# 查看复制出的配置文件
ls -la nginx-config/
ls -la nginx-config/conf.d/
conf.d/ssl.conf
# 强制 http 跳转到 https
server {
listen 80;
server_name sayfamily.cn www.sayfamily.cn;
return 301 https://$host$request_uri;
}
# HTTPS server
server {
listen 443 ssl;
server_name sayfamily.cn www.sayfamily.cn;
ssl_certificate /etc/nginx/ssl/sayfamily.cn.pem;
ssl_certificate_key /etc/nginx/ssl/sayfamily.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
配置完后执行:
docker run -d --name nginx-ssl -p 80:80 -p 443:443 -v /AAAAAAAAAAAA/nginx-html/dist:/usr/share/nginx/html -v /AAAAAAAAAAAA/nginx-ssl:/etc/nginx/ssl -v /AAAAAAAAAAAA/nginx-config/nginx.conf:/etc/nginx/nginx.conf -v /AAAAAAAAAAAA/nginx-config/conf.d:/etc/nginx/conf.d -v /AAAAAAAAAAAA/nginx-logs:/var/log/nginx nginx:latest
关键!:打开阿里云443端口