用 nginx 反代用友软件报 404 错误,有偿求助

2021-12-29 12:09:38 +08:00
 ddd270700
5277 次点击
所在节点    NGINX
62 条回复
ddd270700
2021-12-30 20:51:24 +08:00
再次感谢各位热心的大佬热心回应。

最后 @hymzhek 的方案解决了我的问题〔已如约酬谢,不成敬意〕,使我方便的实现了远程办公。
下面我把我的方案总结一下,给有需要的参考。


##居家办公的需要
#方便
总体上是基于 frp 的,这样的好处是在家办公的人通过公网地址就能直接访问内网的服务了〔内部邮件、OA 、U9 等等〕,和在办公室一样,速度完全可以接受。
没有用 vpn 是因为那样的化客户端也要装软件,麻烦;
#不惊扰
所有的部署都在我的个人计算机上进行,不用接近、更改隔山隔水的邮件、OA 、U9 等服务器
#简单
整个方案几乎不要什么代码,frp 服务端,客户端所有的代码加起来不超过 50 行〔即使考虑到后来的 nginx 配置〕。
#无痕
疫情结束后,把我的个人计算机从网线上拔下来,抱走就好了。

##遇到的问题
一切进行的都很顺利,直到发现 U9 的访问地址并不是一个单纯的 ip 地址,是带了字母的,也就是“http://10.108.11.149/U9”,以我所有的经验和能力,frp 是不能处理这个情形的〔如果有大佬能解决还请告诉我〕,所以我的核心诉求就变成了在公司内网内将一个单纯的 ip 地址指向它。所以才有了前面的发问。

## nginx 的两个解决方案
nginx 实现了一个反向代理功能,将对它的 ip 地址的访问,指向了 http://10.108.11.149/U9 。

方案一,修改了 html 目录下的 index.html 文件,这样通过 html 实现 http 层的跳转;
方案二,是在 server_name 这一行的下面加了一句 rewrite ^/$ /U9 permanent; ,这样就解决了问题。

两个方案都可行,第二个要快一些。

以上方案已经验证过。
高手莫笑,再次感谢。
ddd270700
2022-01-02 19:19:14 +08:00
如果谁有缘看到了这里,且想按照这个方案做,请注意:如果采用方案二,frp 服务端要映射 80 端口。这个很奇怪,我试了很久才发现的。方案一没有这个必要,映射哪个端口都行。
希望帮助到有需要的人。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/825058

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX