apache - 如何将不同的子域请求重定向到不同的端口

标签 apache

我有两个应用程序,一个是www.myexample.com,另一个是blog.myexample.com。我正在使用PHP和Apache。

现在,我想让www.myexample.com在我的计算机的端口82上运行,而blog.myexample.com在同一计算机的端口83上运行。如何配置apache和/或PHP脚本,以便正确处理请求的请求?

编辑:感谢所有回答,但我担心我不清楚这个问题-我的坏!

我真正想要的是模拟一种条件,其中www.myexample.com和blog.myexample.com位于不同的计算机上。因此,当收到请求时,网关服务器(也是托管www.myexample.com的服务器)将检查这是对www.myexample.com还是对blog.myexample.com的请求,并进行必要的重新路由。

这该怎么做?谢谢。

最佳答案

我将假设您有自己的理由希望两个站点(wwwblog)在不同的端口和不同的进程上运行。如果这不是您想要的,例如您不希望有两个不同的进程,那么也可能不是您想要的端口:使用VirtualHost代替,在端口80的同一apache + php实例中共同托管两个域。否则,请继续阅读。

假设您有两个apache + php进程分别在localhost:82和localhost:83上侦听,请调出第三个仅用于apache的进程作为反向代理。让反向代理apache实例使用两个虚拟主机定义来侦听来自Internet的端口80上的请求。第一个虚拟主机定义www将请求转发到localhost:82,而第二个虚拟主机定义blog将请求转发到locahost:83,例如:

NameVirtualHost *:80

# www
<VirtualHost *:80>
  ServerName www.myexample.com
  ProxyPass               /       http://localhost:82/
  ProxyPassReverse        /       http://localhost:82/
</VirtualHost>

# blog
<VirtualHost *:80>
  ServerName blog.myexample.com
  ProxyPass               /       http://localhost:83/
  ProxyPassReverse        /       http://localhost:83/
</VirtualHost>

关于apache - 如何将不同的子域请求重定向到不同的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/589368/

相关文章:

apache - 如何防止上传的文件被执行?

django - 重新编译 Django 而不重新启动 Apache

apache2 和 ssl 模块

用于 X.509 客户端身份验证的 Apache + mod_ssl 中间 CA 自动发现

Apache、Ubuntu、SSL、别名和虚拟

regex - 相对路径css/js的mod_rewrite问题

java - 使用Java调用Docker Remote API

python - 与 mod_wsgi 相比, mod_python "work"怎么样?

apache - 将空格、%20 和 + 替换为连字符

php - 如何使用 .htaccess 指向目录以加载索引