Nginx 反向代理 Gogs

Nginx reverse proxy to Gogs

我正在尝试实现一个 nginx 服务器作为访问我的 Gogs 实例的反向代理。 原因是我需要从工作中访问我的服务,除了标准端口之外的所有端口都被阻止。为了避免在我的服务器上发生端口冲突,大多数服务在大于 1000 的端口上是 运行(就此而言,Gogs 也是,默认为 3000)。 所以我创建了自己的虚拟主机配置以重定向到 Gogs。我得到了普通的 html 网站,但错误显示加载图像和脚本时出错。 似乎 Gogs 本身将客户端重定向到多个子资源,例如 /js、/img、/asset 和 /user。 然后,我将 /js 和 /img 路径作为位置添加到我的 nginx 配置中,并获得了站点 运行。 然而,这似乎需要做很多工作,以跟踪和配置所有这些路径。有没有办法让我通过 nginx 为客户端提供这些路径,而不必一个一个地配置它们?

Gogs 和 nginx 实例 运行 在同一台服务器上,重定向是通过 ip 配置的,没有使用 localhost 或 127.0.0.1 之类的环回,即使我尝试了但没有成功。

提前感谢您的帮助并在下面找到我的配置。 RMG P.S:我查看了不同的教程和问题,包括

server {
        listen 80 default_server;
        server_name devsrv;
        
        #this redirect to another server on port 80 works fine
        location /nextcloud {
                proxy_pass http://OTHERIP/nextcloud;
        }

        location /gogs/ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://LOCALIP:3000/;
        }
        # gogs script location
        location /js {
                proxy_pass http://LOCALIP:3000/js;
        }
        # gogs image location
         location /img {
                proxy_pass http://LOCALIP:3000/img;
        }

}

server {
        listen 80 default_server;
        server_name devsrv;

        #this redirect to another server on port 80 works fine
        location /nextcloud {
                proxy_pass http://OTHERIP/nextcloud;
        }

        location /gogs/ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_pass http://LOCALIP:3000/;
        }
        location / {
                proxy_pass http://LOCALIP:3000$request_uri;
        }


}

设置所有需要用特殊参数处理的特定 url(/gogs or/nextcloud 上的 X-Real-IP 到其他 ip)并使用 $[ 将所有其他的发送到 gogip =27=].

/js? LOCALIP:3000/js

/图像? LOCALIP:3000/img

一切都会走向自己到达的道路

如果你只想发送从 gogs 到 REALIP 的连接(我假设从 gogs 发送的那些重定向来自 REALIP ),你可以制作另一个括号集,这样你就可以:

server {
        listen REALIP:80 default_server;
        server_name devsrv;

        #this redirect to another server on port 80 works fine
        location / {
                proxy_pass http://REALIP:3000$request_uri;
        }
}

希望我有所帮助。