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

как я могу сопоставить порт 10522 на 80, используя apache для другого имени хоста?

я хочу,

http://example.com:10522 работает отлично

Я хочу, чтобы apache справился с этим как

http: \\ test.example.com

10522 - это еще один веб-сервер, а не веб-каталог apache - его автономный веб-сервер, работающий на порту 10522

Вам просто нужно настроить mod_proxy на вашем Apache httpd, чтобы действовать как обратный прокси для test.example.com:10522. В основные примеры в документации должно быть достаточно.

Вы можете сделать это на брандмауэре - перенаправить порт 10522 на 80. В iptables это может быть:

iptables -t filter -A INPUT -p tcp --dport 10522 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 10522 -j REDIRECT --to-port 80

Доступ к test.example.com и test.example.com:10522 будет обрабатываться одним и тем же VirtualHost, и оба будут отображаться как порт 80.

Но из вашего вопроса неясно, хотите ли вы этого достичь. Даже то, какую операционную систему вы используете. А что вы имеете в виду под «10522 - это еще один веб-сервер»?

ИЗМЕНИТЬ ПОСЛЕ УТОЧНЕНИЯ ОТВЕТА:

В Apache может быть как минимум два способа сделать это.

  • Mod_proxy и настройка обратного прокси для example.com:10522, как упоминалось в других комментариях. При этом пользователь будет видеть test.example.com все время.
  • Постоянное перенаправление на example.com примерно так:

    RedirectPermanent / example.com:10522

    И пользователь будет перенаправлен на example.com:10522 при первом доступе к test.example.com