【问题标题】:Set up https access to nginx docker container设置对 nginx docker 容器的 https 访问
【发布时间】:2018-09-27 12:08:23
【问题描述】:

我希望能够通过 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

我在文件夹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。

有什么建议吗?

【问题讨论】:

    标签: docker nginx https


    【解决方案1】:

    您的错误原因是因为您将 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。

    【讨论】:

    • 有效!伟大的!非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2017-12-29
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多