Apache httpd 上的选择性代理端口转发
Posted
技术标签:
【中文标题】Apache httpd 上的选择性代理端口转发【英文标题】:selective proxy port forwarding on Apache httpd 【发布时间】:2013-09-04 20:15:58 【问题描述】:我正在尝试将 wordpress 集成到我的站点中,该站点在 Nodejs 服务器上运行,启用了 Apache Httpd 端口转发以将所有请求从 80 端口转发到 Nodejs 端口 9000。我已将 wordpress 安装到 Apache httpd /www/blog 文件夹中。
现在,我想编辑我的 httpd.conf,以便我来自客户端的所有请求仍应转发到 nodejs 服务器,但我的 blog.example.com 调用不应被代理转发并且它们应指向 /www/博客文件夹。这可能吗 ?
这是来自 httpd.conf 的 Virtualhost 代码:-
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
ServerName example.com
</VirtualHost>
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:这对我有用。可能对其他人有一些帮助。
<VirtualHost *:80>
RewriteEngine on
RewriteCond %HTTP_HOST ^blog\.example\.com
RewriteRule ^(.*)$ http://www\.example\.com/blog/$1 [L]
ProxyPreserveHost On
ProxyPass /blog !
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
ServerName example.com
</VirtualHost>
【讨论】:
以上是关于Apache httpd 上的选择性代理端口转发的主要内容,如果未能解决你的问题,请参考以下文章