我有一个使用PHP编写的站点,它由安装在Linux上的Apache提供服务。 说,它的url是example.com ,它有子文件夹audio , games , photo ,所以用户指向它example.com/photo 。
现在,我正在ASP.Net中编写新的function(例如,查看电影的function),并希望用户可以通过example.com/video访问它。 而IIS的服务是在另一台服务器上看不到的(只有Apache可以直接访问互联网),但是很容易通过内部网从apache到达。
用户会话不重要!
我应该如何configuration它才能有效地工作? 可能我需要安装更多的软件?
我发布了我的解决scheme,据我了解的是Farseeker的意思,但是如果有的话我想听听其他的build议。
你已经去了,并标记了“反向代理”的问题,所以你已经有这么多的权利:)
我认为Apache是你的默认监听器:80你的公共IP? 如果是这种情况,则需要configurationApache的mod_proxy模块,并将其configuration为将example.com/video请求重写为IISSERVER/video
如果你的默认侦听器是IIS,那么这个想法是一样的,但是你将需要使用像ISAPI Rewrite这样的商业产品来做到这一点。
是的,Apache是80端口上公共IP的默认监听器。 我使用ProxyPass和ProxyPassReverse在虚拟主机中添加以下几行:
ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /video http://iis_ip:iis_port ProxyPassReverse /video http://iis_ip:iis_port
但我怀疑我select了最好的解决scheme。 我看到的其中一个替代方法是安装ngin并将其设置为默认值。 然后转发请求从nginx到Apacge和IIS.Maybe还有其他的变种,所以我还没有closures的问题呢。
我是新来的,所以我不能对Farseeker的答案投票。 但是,这是诀窍 – 阿帕奇reverseproxy 是你所要求的。 你可以使用许多不同的产品来做到这一点,但根据你所说的,你可能是最好的答案。