Docker设置nginx https连接被拒绝

时间:2017-07-11 09:56:41

标签: nginx docker https

我已尝试过多种方式在docker环境中设置nginx https配置。 但是在docker nginx日志中没有显示日志。

实际上,网站退回连接被拒绝或网站拒绝连接。

docker撰写文件:

version: "3"
services:
  nginx:
    container_name: nginx
    build:
      context: .
      dockerfile: ./nginx/Dockerfile
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - .:/work
    depends_on:
      - django

  django:
    container_name: django
    build:
      context: .
      dockerfile: ./Dockerfile
    expose:
      - "8000"
    volumes:
      - .:/work
    command: uwsgi --ini ./uwsgi.ini

在nginx conf:

server {
    listen 80;
    server_name  www.canarytechnologies.com;
    rewrite ^(.*)$ https://$server_name$request_uri? permanent;
}

server {

    listen 443 ssl;
    ssl on;
    server_name www.canarytechnologies.com;

    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ALL:!aNULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

    charset     utf-8;
    client_max_body_size 10m;

    location / {
        include uwsgi_params;
        uwsgi_pass django:8000;
    }

}

我没有设置https,它可以正常使用80端口。但我添加了https 443端口。拒绝连接,docker nginx输出中没有日志。

我已成功设置没有泊坞窗的服务器。所有配置都在没有docker环境的情况下工作。

我想知道为什么添加https或添加443端口服务器返回拒绝连接。

1 个答案:

答案 0 :(得分:0)

我犯了一个错误。

我应该将nginx配置文件添加为.conf

所以ADD ./nginx/conf/web.conf /etc/nginx/conf.d/web.conf而不是这个

ADD ./nginx/conf/web /etc/nginx/conf.d/web