Назад | Перейти на главную страницу

Перепишите domain.com:3000 на порт 80 с помощью Apache

Я размещаю на своем веб-сервере два приложения: одно - это сайт Drupal, а другое - установка Errbit, которая представляет собой приложение Ruby on Rails. URL-адреса выглядят примерно так:

http://ourcompany.com
http://errbit.ourcompany.com:3000

Я хочу избавиться от необходимости: 3000 во втором URL-адресе, чтобы мы могли получить к нему доступ напрямую через:

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?

<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