viv*_*nov 5 https nginx docker
我希望能够通过https://192.168.99.100上的 https 访问 nginx docker 容器。到目前为止,我已经完成了以下工作:
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
Run Code Online (Sandbox Code Playgroud)
我在文件夹中有相应的证书文件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;
}
}
Run Code Online (Sandbox Code Playgroud)
docker-compose.yaml
version: '3'
services:
nginx:
image: mynamespace/nginx_pma
container_name: nginx_pma
build:
context: .
ports:
- 443:443
- 80:80
Run Code Online (Sandbox Code Playgroud)
因此,当我运行它时,我可以访问: 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。
| 归档时间: |
|
| 查看次数: |
6410 次 |
| 最近记录: |