我希望能够通过 https 访问 nginx docker 容器 https://192.168.99.100 .到目前为止,我已经完成了以下工作:Dockerfile
:
FROM nginx
COPY certs/nginx-selfsigned.crt /etc/ssl/certs/
COPY certs/nginx-selfsigned.key /etc/ssl/private/
COPY default-ssl.conf /etc/nginx/sites-available/default
EXPOSE 443
我在文件夹
certs
中有相应的证书文件.default-ssl.conf
:server {
listen 80;
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
docker-compose.yaml
version: '3'
services:
nginx:
image: mynamespace/nginx_pma
container_name: nginx_pma
build:
context: .
ports:
- 443:443
- 80:80
所以,当我运行它时,我可以访问:192.168.99.100 显示 NGINX 欢迎页面,但我无法让它在 https://192.168.99.100 上工作.
主机是带有 docker 工具箱的 Windows 7。
有什么建议吗?
最佳答案
您的错误原因是因为您将 nginx SSL 配置复制到文件夹 nginx 时默认不会加载。
在 Dockerfile 中更改这一行后 -COPY default-ssl.conf /etc/nginx/sites-available/default
对此——COPY default-ssl.conf /etc/nginx/conf.d/default-ssl.conf
我可以通过 https 访问 Nginx。
关于docker - 设置 https 访问 nginx docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49879548/