我在配置远程虚拟机(使用 CentOS 5.5)时遇到问题。我已经安装了 LAMP、JasperServer 和我的公司应用程序(一个工业管理软件),但这是我的第一个远程 VM。
管理员给了我一个静态IP,并将2个端口重定向到SSH(11122-> 22)和HTTP(11180-> 80)。
现在我无法从远程访问 Jasper Reports 面板,因为我必须将端口 8080 插入到域,但我还有 11180。
我假设的解决方案是编辑httpd.conf
,插入指向的东西:8080/jasperserver
,但主要问题是我无法拥有静态路由,因为公司软件在“原始域“ 喜欢://remoteip:11180/mysoftware
。
我不知道我说得清楚不明确。我无法将所有外部请求从端口 11180 重定向到内部端口 8080,因为我的公司软件无法运行。
有人有什么想法吗?
PS:我无法启用防火墙之类的东西(iptables 或其他东西)。如果有其他方法,那也是一个很好的解决方案(最好的是在需要时禁用和启用某些东西,例如注释/取消注释某些行)
答案1
据我所知,您的软件在端口 8080 上运行,但您需要从端口 11180 访问它。您可以使用 apache 通过以下行重定向端口 80:
重定向所有流量
ProxyPass / http://localhost:8180/
ProxyPassReverse / http://localhost:8180/
仅重定向特定的 URL(在本例中为 /jasperserver)
ProxyPass /jasperserver http://localhost:8180/jasperserver
ProxyPassReverse /jasperserver http://localhost:8180/jasperserver
我使用未监听本地主机的 tomcat 服务器对此进行了测试,并且请求顺利通过,因此我认为这对您来说是可行的。