我的 Web 服务器上托管了两个应用程序,一个是 Drupal 网站,另一个是 Errbit 安装,后者是 Ruby on Rails 应用程序。URL 如下所示:
http://ourcompany.com
http://errbit.ourcompany.com:3000
我想放弃第二个 URL 上 :3000 的需要,这样我们就可以通过以下方式直接访问它:
http://errbit.ourcompany.com
我不想重定向,我希望保留 URL,不带端口号。我以前使用过以下命令行命令来设置一些 IP 表重新配置:
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000
sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 3000
...这很好,因为旧服务器上没有运行 Apache。但是,这会导致端口 80 上的所有请求都重定向到端口 3000,这意味着它将中断对http://ourcompany.com
我该如何设置?
有没有办法配置 IP 表来允许这样做,或者这可以在 Apache2 配置中完成?
答案1
<VirtualHost *:80>
ServerName errbit.ourcompany.com
ProxyPreserveHost On
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>