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)
[已解决]我正在使用 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/
非常感谢谁是这样写的。
| 归档时间: |
|
| 查看次数: |
1113 次 |
| 最近记录: |