AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-1209398

SpencerDub's questions

Martin Hope
SpencerDub
Asked: 2020-08-15 19:53:23 +0800 CST

是什么导致 Nginx 反向代理设置中出现此 111 Connection Refused 错误?

  • 6

问题摘要

由于在我的家庭网络上设置了 Nginx 反向代理,我在服务器上托管的应用程序之一在我访问其 URL 时始终产生错误 502:Bad Gateway,其中至少有一个相应的错误 111(“连接被拒绝”) Nginx 错误日志。

系统详情

  • 服务器(“我的域”):
    • 操作系统:YunoHost v. 3.8.5.7(基于 Debian Stretch 的发行版)
    • 硬件:一台旧台式电脑
    • 网络连接:通过以太网电缆连接到我的路由器
  • 反向代理:
    • 操作系统:Raspbian GNU/Linux 10(破坏者)
    • 硬件:树莓派 4 B 型
    • 网络连接:通过 WiFi

网络流量的流向如下所示:

Internet -> Router -> Raspberry Pi reverse proxy -> [ MyDomain server -> internal reverse proxy ]

最后一步,“内部反向代理”,指的是由 YunoHost 系统自动配置和管理的 Nginx 反向代理,它允许托管和获取多个不同的服务。

问题详情

我使用 YunoHost 在我的家庭网络上的服务器上托管多项服务,包括calibreweb。我使用了多个域,但只有一个受到此问题的影响——我们称之为 MyDomain.com。

6 月 11 日,我在我的家庭网络上设置了 Raspberry Pi 反向代理,以便我可以将流量引导到两个独立的 YunoHost 服务器。在设置该代理之前,我可以导航到 MyDomain.com/calibre 并加载 calibreweb 服务。从那天起,导航到 MyDomain.com/calibre 会在我的浏览器中产生错误 502: Bad Gateway。当我检查/var/log/nginx/mydomain.com-error.logMyDomain 服务器上的文件时,我看到了相应的错误消息:

2020/08/14 17:32:46 [错误] 23605#23605: *149804 connect() 在连接到上游时失败(111:连接被拒绝),客户端:192.168.0.179,服务器:mydomain.com,请求:“GET /calibre/ HTTP/1.0”,上游:“http://127.0.0.1:8083/calibre/”,主机:“mydomain.com”

/var/log/calibreweb/calibreweb-access.log此外,自 6 月 11 日以来,该文件没有添加任何内容。

mydomain.com 域上的其他服务没有受到类似影响。我可以成功访问 mydomain.com/gitea、mydomain.com/wallabag 和 mydomain.com/wiki。只有 calibreweb 以这种方式失败。

预期行为

导航到 mydomain.com/calibre 会加载 Calibre Web 应用程序。

Nginx 配置文件

如上所述,这里有两个 Nginx 反向代理,我预计它们两者之间存在一些分歧会导致这个问题。第一个反向代理是 Raspberry Pi 代理,它根据请求将流量定向到我家庭网络上的不同机器。第二个反向代理是 MyDomain 机器上的 YunoHost 内置代理。

在Raspberry Pi 反向代理(遇到的第一个反向代理)上,/etc/nginx/sites-available/xanderwhart.us.conf文件如下所示:

server {
        server_name mydomain.com;
        location / {
                proxy_pass              https://192.168.0.117;
                proxy_redirect          off;
                proxy_read_timeout      60s;

                proxy_set_header        Host            mydomain.com;
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

                client_max_body_size 50M;
        }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot



}
server {
    if ($host = mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


        listen 80;
        server_name mydomain.com;
    return 404; # managed by Certbot


}

在YunoHost 内置代理(遇到的第二个)上,这里是/etc/nginx/conf.d/mydomain.com.d/calibreweb.conf:

location /calibre {
  client_max_body_size 200M;
  # Force usage of https
  if ($scheme = http) {
    rewrite ^ https://$server_name$request_uri? permanent;
  }
        proxy_pass                              http://localhost:8083;
        proxy_set_header                X-Forwarded-For                         $remote_addr;
        proxy_set_header                Host                                            $http_host;
        proxy_set_header                X-Forwarded-For                         $proxy_add_x_forwarded_for;
        proxy_set_header                X-Scheme                                        $scheme;
        proxy_set_header                X-Script-Name                           /calibre;
#        proxy_set_header               X-Remote-User                           $remote_user;

  # Include SSOWAT user panel.
  include conf.d/yunohost_panel.conf.inc;
}

我试过的

  • 重启 Nginx 服务:没有任何变化
  • 重新启动 Calibreweb 服务:没有任何变化
  • 检查 calibreweb 的状态systemctl status calibreweb:报告已加载并处于活动状态
  • curl 127.0.0.1:8083从 MyDomain 计算机上的会话执行:产生“卷曲:(7) 无法连接到 127.0.0.1 端口 8083:连接被拒绝”
  • 检查 MyDomain 计算机上的端口 8083 是否打开:它是
  • 从同一网络上的台式计算机导航到http://192.168.0.117:8083/(MyDomain计算机的本地 IP 地址):“Firefox 无法与位于 192.168.0.117:8083 的服务器建立连接。”

怀疑和最后说明

根据这个问题的发生时间,我怀疑两个 Nginx 反向代理之间不兼容,但我不是一个知识渊博的网络管理员(我是一个完全的新手)来确定发生了什么。欢迎所有帮助;提前致谢。

nginx reverse-proxy
  • 1 个回答
  • 2789 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve