我正在尝试实现一个 nginx 服务器作为访问我的 Gogs 实例的反向代理。原因是我需要从工作中访问我的服务,除了标准端口之外的所有端口都被阻止。为了避免我的服务器上的端口冲突,大多数服务都在 >1000 的端口上运行(就此而言,Gogs 也是,默认为 3000)。所以我创建了自己的虚拟主机配置来重定向到 Gogs。我得到了普通的 html 网站,但错误显示加载图像和脚本时出现错误。似乎 Gogs 本身将客户端重定向到多个子资源,例如 /js、/img、/asset 和 /user。然后,我将 /js 和 /img 路径作为位置添加到我的 nginx 配置中并让站点运行。但是,这似乎需要做很多工作,要跟踪和配置所有这些路径。
Gogs 和 nginx 实例在同一台服务器上运行,重定向是通过 ip 配置的,没有使用 localhost 或 127.0.0.1 之类的环回,即使我尝试过但没有成功。
提前感谢您的帮助,并在下面找到我的配置。RMG PS:我检查了不同的教程和问题,包括这个 stackoverflow 问题
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;
}
}