更新:在解决了以下两个答案之后,我添加了一个修订的问题。
嗨,您好,
如果您正在阅读本文,那么您可能熟悉Apache的mod_proxy及其ProxyPass函数。像许多其他应用程序一样,我遇到了一个问题,我可以从内部网络外部访问该应用程序,但是该应用程序本身可以访问不同计算机上的其他内部应用程序,并且当您使用此设置进行远程访问时,事情会变得很糟。
因此,我的设置非常简单,我有:
机器#1启用了远程访问,我通过主机名访问它,它吐出了在其上运行的PHP应用程序。
Machine#2是运行Django的新应用程序,它使用完全不同的后端(甚至是auth),它托管在单独的计算机上。在我们的Intranet中,我们通过一个简单的命名主机名访问它,该主机名基本上链接到内部192.168.0.101 ip。
我尝试使用ProxyPass进行设置,例如,传递给/ new会将其发送到新应用程序:
ProxyPass /新http://192.168.0.101/
这种工作方式将请求发送到另一个应用程序,但由于我的Django应用程序想要重定向到/ auth / login /,该请求立即中断了,但是它无法识别,因此中断了。如果我自己将url修改为foo.net/new/auth/login,则会得到我的登录页面,但是您可能会猜测在整个浏览过程中这样做并不方便。
那么,如何让ProxyPass可以根据需要工作呢?我是否需要对Apache做一些事情,以便它始终在其他应用程序中的url之前写入/ new,还是应该在Django应用程序中对其进行修改?
任何技巧和指针也将不胜感激。谢谢你的时间