我已尝试过多种方式在docker环境中设置nginx https配置。 但是在docker nginx日志中没有显示日志。
实际上,网站退回连接被拒绝或网站拒绝连接。
docker撰写文件:
version: "3"
services:
nginx:
container_name: nginx
build:
context: .
dockerfile: ./nginx/Dockerfile
ports:
- "80:80"
- "443:443"
volumes:
- .:/work
depends_on:
- django
django:
container_name: django
build:
context: .
dockerfile: ./Dockerfile
expose:
- "8000"
volumes:
- .:/work
command: uwsgi --ini ./uwsgi.ini
在nginx conf:
server {
listen 80;
server_name www.canarytechnologies.com;
rewrite ^(.*)$ https://$server_name$request_uri? permanent;
}
server {
listen 443 ssl;
ssl on;
server_name www.canarytechnologies.com;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!aNULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
charset utf-8;
client_max_body_size 10m;
location / {
include uwsgi_params;
uwsgi_pass django:8000;
}
}
我没有设置https,它可以正常使用80端口。但我添加了https 443端口。拒绝连接,docker nginx输出中没有日志。
我已成功设置没有泊坞窗的服务器。所有配置都在没有docker环境的情况下工作。
我想知道为什么添加https或添加443端口服务器返回拒绝连接。
答案 0 :(得分:0)
我应该将nginx配置文件添加为.conf
所以ADD ./nginx/conf/web.conf /etc/nginx/conf.d/web.conf
而不是这个
ADD ./nginx/conf/web /etc/nginx/conf.d/web