帮助我了解如何使用ProxyPass

Modified on: Tue, 02 Jul 2019 16:40:03 +0800

更新:我在下面的两个答案中添加了修改后的问题。

你好,

如果您正在阅读本文,您可能熟悉Apache的mod_proxy及其ProxyPass功能。像许多其他人一样,我遇到的问题是我可以从我们的内部网络外部访问一个应用程序,但该应用程序本身可以访问不同计算机上的其他内部应用程序,当您使用此设置进入远程访问时,事情会变得很糟糕。< / p>

所以,我的设置很简单,我有:

机器#1启用了远程访问,我通过主机名访问它,并且它会在其上运行PHP应用程序。

Machine#2是一个运行Django的新应用程序,它使用完全不同的后端(甚至是auth),它托管在一台单独的机器上。在我们的Intranet中,我们通过一个简单的命名主机名访问它,它基本上链接到内部192.168.0.101 ip。

我已尝试使用ProxyPass进行设置,例如,传递给/ new会将其发送到新应用程序:

  

ProxyPass / new http://192.168.0.101/

这种作品,它得到了对其他应用程序的请求,但它因为我的Django应用程序想要重定向到/ auth / login /而中断,它立即无法识别。如果我自己修改网址为foo.net/new/auth/login,我会得到我的登录页面,但你可以猜测在整个浏览过程中这样做是不方便的。

那么我怎样才能让ProxyPass按照我的意愿工作?我是否需要对Apache做一些事情,所以它总是在其他应用程序的url之前写入/ new,或者这是我应该在我的Django应用程序中修改的内容?

任何提示和指示也将非常感激。谢谢你的时间

作者:Bartek

最佳答案

您应该将django应用程序修改为/ new / auth / login而不是/ auth / login。通常,您的代理通行证应如下所示:

ProxyPass /path http://192.168.0.101/path
ProxyPassReverse /path http://192.168.0.101/path

结合您的Django应用程序,期待处于/ new /应该解决您的问题。

作者:f4nt

相关问答

添加新评论