如何解决尝试使用 SSL 为多个域设置反向代理时遇到“111:Unknown Error”
我和一个朋友目前正在尝试为他的项目设置反向代理。 他有 3 个不同名称的域,我们将这些域附加到他的远程服务器上。
我们使用 Nginx 作为反向代理,并使用 3 个运行“Express”Web 服务器的 docker。 我们使用 certbot 生成 ssl 证书。
我已将 Nginx“custom-server”配置文件配置为尽我所能,并且所有域都在运行 ssl。
问题是在浏览器 (julian-kilner.com) 上查找时,只有其中一个域显示某些内容。另外两个给我们错误“502 - Bad Gateway”。 检查error.log时,它给了我们错误“connect() Failed (111: UnkNown error) while connected to upstream”。
我用谷歌搜索无济于事,我们目前陷入困境......
我们尝试修改配置,更改语法,认为必须如此(因为一台服务器实际上在“工作”,而其他服务器则没有)。
我必须补充一点,在我们尝试 ssl 之前它工作得很好。
这里是反向代理配置文件:
ssl_certificate /etc/letsencrypt/live/cyber-potato.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cyber-potato.com/privkey.pem;
server {
listen 80;
listen 443 ssl;
server_name cyber-potato.com;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
access_log /var/log/Nginx/access.log;
error_log /var/log/Nginx/error.log debug;
location / {
proxy_pass http://172.17.0.2:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
} }
server {
listen 80;
listen 443 ssl;
server_name julian-kilner.com;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
access_log /var/log/Nginx/access.log;
error_log /var/log/Nginx/error.log;
location / {
proxy_pass http://172.17.0.3:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
} }
server {
listen 80;
listen 443 ssl;
server_name rawcru.com;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
access_log /var/log/Nginx/access.log;
error_log /var/log/Nginx/error.log;
location / {
proxy_pass http://172.17.0.5:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
} }
user www-data;
worker_processes auto;
pid /run/Nginx.pid;
include /etc/Nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/Nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3,ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/Nginx/access.log;
error_log /var/log/Nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+RSS text/javascript;
##
# Virtual Host Configs
##
include /etc/Nginx/conf.d/*.conf;
include /etc/Nginx/sites-enabled/*;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
我们假设我们配置了一些不符合预期的方式...... 我会非常感谢任何愿意帮助我们的人。 谢谢
解决方法
好吧,事实证明我们有点愚蠢。 我们已将 docker 的侦听端口更改为 443,并在我们的配置中使用了“docker_ip”:80... 这显然行不通,但是嘿,我猜是第一次使用 nginx...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。