gpt4 book ai didi

docker - 如何让加密 flask 应用程序在 docker 和 gunicorn 上作为网络服务器运行..?

转载 作者:行者123 更新时间:2023-12-02 20:37:50 25 4
gpt4 key购买 nike

我正在尝试为我的站点获取 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()"

这是我的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'

最佳答案

[已解决] 我正在使用 nginx 反向代理来完成。
这是我的 default 文件配置,位于/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/;
}
}

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

关于docker - 如何让加密 flask 应用程序在 docker 和 gunicorn 上作为网络服务器运行..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51905467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com