如何让在 docker 和 gunicorn 上作为网络服务器运行的letsencrypt Flask 应用程序..?

Gof*_*tty 1 nginx docker lets-encrypt

我正在尝试为我的网站获取 SSL,我尝试使用我遵循的许多教程来完成它,是的,我可以做到,但其中许多教程主要使用 nginx 作为网络服务器。
但是..现在我想为我的网站获取 SSL,该网站在 docker 和 gunicorn 上作为网络服务器运行。
我遵循了许多教程和来源,但我做不到。所以..如何做到这一点。?,
任何源示例或教程将不胜感激......?
这是我的Dockerfile

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()"
Run Code Online (Sandbox Code Playgroud)

这是我的 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'
Run Code Online (Sandbox Code Playgroud)

Gof*_*tty 5

[已解决]我正在使用 nginx 反向代理。
这是我在 /etc/nginx/sites-available/ default处的默认文件配置

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/;
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经按照本教程进行操作,是的 .. 我明白了:
https : //www.guyatic.net/2017/05/09/configuring-ssl-letsencrypt-certbot-nginx-reverse-proxy-nat/
非常感谢谁是这样写的。