代码之家  ›  专栏  ›  技术社区  ›  Tri

如何让在docker和gunicorn上作为Web服务器运行的加密烧瓶应用程序。。?

  •  -1
  • Tri  · 技术社区  · 7 年前


    但是。。现在我想为我的网站获得SSL,它作为一个web服务器运行在docker和gunicorn上。
    我有很多教程和资料来源,但我做不到。 所以。。怎么做。?,

    这是我的 停靠文件 :

    FROM python:3.6.5-stretch
    
    MAINTAINER Irwan Santosa
    
    RUN apt-get update && apt-get install -y build-essential libpq-dev
    
    ENV INSTALL_PATH_DOCKER /web_app_docker
    
    RUN mkdir -p $INSTALL_PATH_DOCKER
    
    WORKDIR $INSTALL_PATH_DOCKER
    
    COPY requirements.txt requirements_docker.txt
    
    RUN pip install -r requirements_docker.txt
    
    COPY . .
    
    CMD gunicorn -b 0.0.0.0:80 --access-logfile - "web_app.app:create_app()"
    

    docker-compose.yml文件 :

    version: '3'
    
    services:
      web_app_docker:
        build: .
        command: >
          gunicorn -b 0.0.0.0:80
          --access-logfile -
          --reload
          "web_app.app:create_app()"
    
        volumes:
          - '.:/web_app_docker'
    
        ports:
          - '9999:80'
    
      service_postgresql_docker:
        image: 'postgres:9.6'
    
        environment:
          POSTGRES_USER: 'irwan'
          POSTGRES_PASSWORD: '12345'
    
        volumes:
          - '/var/lib/postgresql/data'
    
        ports:
          - '5435:5432'
    
    1 回复  |  直到 7 年前
        1
  •  3
  •   Tri    7 年前

    [已解决]
    这是我的 文件配置位于/etc/nginx/sites/ 违约

    server
    {
      listen 80;
      listen [::]:80;
    
      server_name irwan.trinanda.tk;
      return 301 https://$server_name$request_uri;
    }
    
    server
    {
      listen 443 ssl;
      listen [::]:443 ssl;
      server_name irwan.trinanda.tk;
    
      ssl on;
      ssl_certificate /etc/letsencrypt/live/irwan.trinanda.tk/fullchain.pem;
      ssl_certificate_key /etc/letsencrypt/live/irwan.trinanda.tk/privkey.pem;
      ssl_dhparam /etc/letsencrypt/live/irwan.trinanda.tk/dhparams.pem;
    
      access_log /var/log/nginx/access.log;
      error_log /var/log/nginx/error.log;
    
      location /.well-known
      {
        root /var/www/ssl/website1/;
      }
    
      location /
      {
        include proxy.conf;
        proxy_pass http://128.199.80.54:9999/;
      }
    }
    

    我已经学习了这个教程,是的。。我得到了它:
    https://www.guyatic.net/2017/05/09/configuring-ssl-letsencrypt-certbot-nginx-reverse-proxy-nat/