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
    • 最新
    • 标签
主页 / computer / 问题

问题[reverse-proxy](computer)

Martin Hope
Martin Collins
Asked: 2021-04-24 04:54:03 +0800 CST

阿帕奇用例

  • 5

我使用 Apache 在我的家庭服务器上使用 SSL 证书在端口 443 上为全世界提供多个站点。昨晚我安装了一个 linux 二进制文件,它仅在通过其配置文件定义的端口上为站点提供服务。我不可能让 Apache 直接为该站点提供服务。

所以这个站点托管在http://127.0.0.1:8081/但我想将它隐藏在 Apache 后面 443 以便我可以通过https://myserver.duckdns.org/webapp/访问它

到目前为止,我已经在我的站点配置文件中尝试过这个,但它没有奏效:

ProxyRequests off
<Proxy *>
        allow from all
</Proxy>

RewriteEngine On
RewriteRule ^/(.*) /webapp/$1 [P]

<Location /webapp/>
        ProxyPass http://127.0.0.1:8081/
        ProxyPassReverse http://127.0.0.1:8081/
</Location>

知道我该怎么做吗?

我以为我可以使用 ProxyPass 和 RewriteRules 来做到这一点,但我似乎无法让它正常工作。

提前非常感谢!

apache-http-server reverse-proxy
  • 1 个回答
  • 46 Views
Martin Hope
dadoblake
Asked: 2020-12-08 08:54:16 +0800 CST

反向代理子位置

  • 5

我希望 nginx 重定向(重写?)所有对/images, /css, /whateverto http://frontend/site/imagesor的请求http://frontend/site/css,因为http://frontend/site正确映射到backend:port站点,但当然它总是寻找/whatever而不是http://frontend/site/whatever

是一种告诉 nginx 反向代理动态调整 url 的方法吗?无需创建数百个/location指令

谢谢

nginx reverse-proxy
  • 1 个回答
  • 540 Views
Martin Hope
Napal
Asked: 2020-12-02 08:08:14 +0800 CST

通过 nginx 代理 websocket

  • 6

有数据提供者为您提供 X 数量的 websockets 连接以从中获取实时数据,我想知道是否有办法使用 nginx 作为反向代理来订阅该端点,我的数据提供者通过 websockets 提供实时数据为了充当通过我的反向代理获取实时数据的桥梁,而不是与他们一起去。

基本上订阅他们的 websocket,但使用我的反向代理,并将我的反向代理作为 websocket 提供给任何数量的客户,以绕过我的提供商的限制

抱歉,我无法提供任何示例,我还没有在网上找到类似的东西。我还在爬。

nginx reverse-proxy
  • 1 个回答
  • 66 Views
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
Martin Hope
Rsevero
Asked: 2019-07-09 04:29:33 +0800 CST

如何修复通过 Traefik 访问时不指向站点 URL 的 Wordpress 链接?

  • 5

我有一个作为 Docker 堆栈运行的 Wordpress 站点。

如果我直接通过 DNAT 访问它(只使用该站点的有效 IP 地址),一切正常。

如果我尝试通过 Traefik 访问它(这样我就可以与其他 HTTP 服务共享一个有效的 IP 地址),我只能访问该站点的主页和同一站点的 Wordpress 管理页面,但对于所有其他常规页面,我会得到一个错误信息如下:

无法连接

Firefox 无法与 192.168.109.236 的服务器建立连接。

共享 Traefik 使用的 IP 地址的其他(非 Wordress)站点工作正常。只有这个 Wordpress 驱动的有这个问题。

192.168.109.236 IP 地址是在 Traefik 中配置为该站点后端的 Docker worker 的地址,您可以在这个traefik.toml片段中看到:

 [file]
   [frontends]
     [frontends.site]
       backend = "site"
       [frontends.site.routes.site1]
         rule = "Host:www.EXAMPLE.com,www.EXAMPLE.com.br,EXAMPLE.com,EXAMPLE.com.br"

   [backends]
     [backends.site]
       [backends.site.loadbalancer.stickiness]
       [backends.site.healthcheck]
         path = "/"
         interval = "10s"
       [backends.site.servers.c1]
         url = "http://192.168.109.236:9003"
       [backends.sita.servers.a1]
         url = "http://192.168.109.233:9003"
       [backends.site.servers.a2]
         url = "http://192.168.109.219:9003"

通过 Traefik 访问时,如何使 Wordpress 链接指向站点 URL 而不是 Docker worker 的 IP 地址?

wordpress reverse-proxy
  • 1 个回答
  • 173 Views
Martin Hope
user3470774
Asked: 2019-06-11 21:01:08 +0800 CST

将 GoDaddy 子域转发到同一服务器上的不同端口(反向代理)

  • 6

所以情况是这样的:我用 GoDaddy (Jbc.ca) 购买了一个域 GoDaddy 目前转发到我的无 IP 域,因为我有一个动态 IP 地址(但是它不会经常更改 - 所以理论上我可以转发它直接到我的 IP 地址)。

现在这里变得有点复杂了。我在访问 (jbc.ca) 时显示的端口 80 上运行一个 Web 服务器 (Apache) 我还有几个在同一系统上运行的其他服务:Plexport 32400;7777 端口上的 Tautulli;Ombi 在端口 5000 上;端口 8686 上的 Lidarr,7000 上的 Remotely Anywhere PC Access 和一个单独的 Web 服务器(端口 9024 上的 Microsoft IIS)。

目前要访问除端口 80 之外的任何这些服务,我必须执行以下操作:“ http://Jbc.ca:Port# ”;例如,要访问 Ombi,我必须输入http://jbc.ca:5000。

我想要的是让我的域具有每个端口的子域 - 例如 ombi.jbc.ca 理论上会在服务器上加载端口 5000,但会显示 ombi.plex.ca 而不是重定向和公开端口号。Ra.jbc.ca 将加载端口 7000 等等......

我读过这可以通过 apache 或 nginx(因为我正在为我的主服务器运行 mamp pro)以及 IIS 使用反向代理来完成,但是我不知道如何完成需要更改/添加的内容在服务器上,哪个服务器最适合完成此操作以及我必须在我的 GoDaddy 域上修改什么。

希望有人可以提供帮助,因为我现在完全被难住了。

提前致谢。

port-forwarding reverse-proxy
  • 1 个回答
  • 4195 Views
Martin Hope
Jorropo
Asked: 2019-05-26 18:27:10 +0800 CST

Nginx 等待如果达到 max_conns 而不是 502

  • 6

我反向代理到一个使用太多 ram 的应用程序,所以我通过上游块中的 max_conns 将它限制为 5 个连接。
但是当达到 5 个连接时会触发 502 错误,但这不是我想要的,如果连接只是等待轮到他(连接时间不长)会更好。

所以我想要的一个例子max_conns=3:

conn1 connect and nginx proxy it
conn2 connect and nginx proxy it
conn3 connect and nginx proxy it
conn4 connect and nginx makes it wait
conn5 connect and nginx makes it wait
conn1 finish
conn4 is now proxied
conn3 finish
conn5 is now proxied
conn2 finish
conn4 finish
conn5 finish
nginx reverse-proxy
  • 1 个回答
  • 331 Views
Martin Hope
Matthieu.V
Asked: 2019-05-14 02:04:15 +0800 CST

NGINX:将请求分派到多个端点

  • 6

对于测试环境,我需要将单个请求分派到多个端点(即我必须复制请求)。我想只使用 NGINX 来这样做,但我不确定是否可行。

对于我的主机,我的配置文件如下所示:

server {
    server_name myserver.com;
}

server {
    listen 443 ssl;
    server_name myserver.com;

    ssl_certificate      ssl/cert.pem;
    ssl_certificate_key  ssl/key.pem;

    proxy_set_header        Host myserver.com;
    proxy_ssl_name          myserver.com;
    proxy_ssl_server_name   on;

    location  / {
                proxy_pass https://server1/;
            }

我尝试使用多个 proxy_pass 标签,如下所示:

location  / {
                    proxy_pass https://server1/;
                    proxy_pass https://server2/;
                    proxy_pass https://server3/;
                }

当然,我并没有真正期望它会起作用,但我认为它会帮助您理解我想要实现的目标。

所以我的问题是:是否有可能使用 NGINX 实现这一目标?

nginx reverse-proxy
  • 2 个回答
  • 1244 Views
Martin Hope
psky
Asked: 2019-03-30 00:03:16 +0800 CST

Nextcloud 共享在 nginx 反向代理中不起作用

  • 1

我使用 jwilder 图像和 letsencrypt 设置了一个 nginx 反向代理。一切正常,我有几个容器按预期运行。

但是,我现在已经在我的一个开发服务器上创建了一个 nextcloud 容器,我无法使用它与舞台服务器上具有相同设置的另一个 nextcloud 容器共享文件。

我看到的错误是Failed to perform action当我接受共享文件时。当我检查登录控制台时,我看到

Refused to connect to 'http://dev.domain.com/ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending/2' because it violates the following Content Security Policy directive: "connect-src 'self'".

我已经阅读了一段时间。我在官方文档网站上找到了这个,但我无法让它工作。nextcloud 本身有 ssl,但当我分享它时,它看起来像使用 http 服务。我知道这与反向代理有关,但我不确定我是否知道如何解决这个问题。

欢迎任何帮助。

笔记

使用

图片:nextcloud:最新

图片:玛丽亚布

图片:jwilder/nginx-proxy:0.7.0

图片:jrcs/letsencrypt-nginx-proxy-companion

nginx letsencrypt reverse-proxy
  • 1 个回答
  • 803 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