使用 Apache 将 domain.com:3000 重写为 80 端口

使用 Apache 将 domain.com:3000 重写为 80 端口

我的 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> 

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

相关内容