首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx将http重定向到docker容器连接中的https拒绝

问nginx将http重定向到docker容器连接中的https拒绝
EN

Stack Overflow用户
提问于 2021-12-17 07:31:42
回答 1查看 506关注 0票数 2

我的工作是将HTTP流量重定向到HTTPS流量。该环境由正在通过NGINX停靠容器路由的坞容器中的一个烧瓶应用程序组成。下面是nginx.conf文件。在运行docker-compose up之后,我能够激活容器。在运行curl localhost之后,我将获得一个301 Moved Permanently。但是,在运行curl https://localhost时,我得到了一个curl: (7) Failed to connect to localhost port 443: Connection refused。我检查了macOS大Sur上的本地计算机网络设置,防火墙被关闭(任何流量都应该允许进入)。我不知道我还需要做些什么才能让这件事奏效。我还在nginx容器的docker-组合文件中公开了端口443。任何建议都会有帮助。

NGINX.conf

代码语言:javascript
复制
http {


upstream flask {
    server app:8000;
  }
  server {
    listen 80;
    server_name localhost;
    return 301 https://$server_name$request_uri;
  }

  server {
    listen 443 ssl;
    server_name localhost;

    ssl_certificate /etc/nginx/nginx/files/localhost.crt;
    ssl_certificate_key /etc/nginx/nginx/files/localhost.key;

    location / {
      proxy_pass http://flask;
      proxy_set_header Host "localhost";
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-Proto $scheme;
    }
  }
}

码头组成

代码语言:javascript
复制
version: "3"
services:
  app:
    container_name: app
    command: gunicorn --bind 0.0.0.0:8000 --workers 2 "app.server:app"
    volumes:
      - ./:/var/www
    build: app
    ports:
      - 8000:8000
    networks:
      MyNetwork:
        aliases:
          - flask

  nginx:
    container_name: nginx
    build: nginx
    volumes:
      - ./:/var/www
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
    ports:
      - 80:80
    expose:
      - "443"
    networks:
      - MyNetwork

networks:
  MyNetwork:
EN

回答 1

Stack Overflow用户

发布于 2021-12-17 08:50:16

首先,您应该将端口443添加到docker-compose中,如下所示:

代码语言:javascript
复制
    ports:
      - 80:80
      - 443:443

那么你应该把/etc/nginx/nginx/files卷起来

代码语言:javascript
复制
    volumes:
      - ./:/var/www
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/nginx/files:/etc/nginx/nginx/files
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70389753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档