今天在给域名添加ssl证书,让网站可以通过https访问。按照运营商提供的配置方法配置了nginx,并设置了80请求转https。然而,明明nginx和证书都配置完成了,但是就是不能用https访问。
(排查了两个小时,痛)
最终发现问题是虽然证书正常配置了,服务器的443端口也开放了,但是装在 docker 内的 nginx 没有设置443的端口映射,导致 nginx 监听不到 443 端口。
在重新创建并运行容器后,可以通过https正常访问了!
docker run \
-p 443:443 \
-p 80:80 \
--name nginx \
-v /root/nginx_docker/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx_docker/conf/conf.d:/etc/nginx/conf.d \
-v /root/nginx_docker/log:/var/log/nginx \
-v /root/nginx_docker/html:/usr/share/nginx/html \
-d nginx:latest