Tôi đã cài đặt thành công SSL qua certbot vào bộ chứa Nginx Docker của mình,
nhưng sau khi cài đặt, tất cả lưu lượng được định tuyến qua HTTPS
từ chối kết nối.
cuộn tròn https://www.example.com
hoặc cuộn tròn https://the_ip_of_server
curl: (7) Không thể kết nối với cổng example.com 443 sau 9822 ms: Kết nối bị từ chối
~Cổng 443 đang mở trên máy chủ (AWS Lisghtsail)
cuộn tròn http://www.example.com
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.21.6</center>
</body>
</html>
nhưng khi cuộn tròn http://the_ip_of_server
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.21.6</center>
</body>
</html>
đây là nginx.conf
#Giới hạn đồng thời
limit_conn_zone $binary_remote_addr zone=per_ip:10m;
người phục vụ {
server_name example.com www.example.com;
địa điểm / {
proxy_pass http://flask:8080/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Máy chủ lưu trữ $host;
proxy_redirect tắt;
bật proxy_intercept_errors;
limit_conn per_ip 12;
}
error_page 404 /notfound.html;
vị trí /notfound.html {
gốc/var/www/html;
nội bộ;
}
error_page 500 502 503 504 /maintenance.html;
vị trí /maintenance.html {
gốc/var/www/html;
nội bộ;
}
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = www.example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nếu ($host = example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80 default_server;
server_name example.com www.example.com;
trả lại 404; # được quản lý bởi Certbot
}
docker-compose.yml
phiên bản: '3.7'
dịch vụ:
bình giữ nhiệt:
xây dựng: ./Ứng dụng Flask
container_name: bình
khởi động lại: luôn luôn
môi trường:
- APP_NAME=Env
lộ ra:
- 8080
nginx:
xây dựng: ./Nginx
container_name: nginx
khởi động lại: luôn luôn
cổng:
- "80:80"