Google Domains & Hetzner
У меня есть сервер с Hetzner и несколько доменов с Google Domains. У меня есть сервер Apache, работающий на порту 80, и сервер Node, работающий на порту 8080.
Если IP-адрес моего сервера 192.0.2.4, а мой домен example.com, я хочу настроить домены Google так, чтобы:
- http://example.com/ открывает http://192.0.2.4/ (но по-прежнему отображает http://example.com/ в браузере)
- http://www.example.com/ открывает http://192.0.2.4/ (но по-прежнему отображает http://www.example.com/ в браузере)
- http://a.example.com/ открывает http://192.0.2.4:8080/ (но по-прежнему отображает http://a.example.com/ в браузере)
Пока я добавил эти правила в Google Domain:
@ A 1h 192.0.2.4
www CNAME 1h example.com
a CNAME 1h ghs.googlehosted.com (added as a subdomain redirection from a.example.com to 192.0.2.4:8080)
И у меня такое поведение:
- http://example.com/ приводит к 404 (от Google, а не с моего сервера Apache)
- http://www.example.com/ работает как положено
- http://a.example.com/ перенаправляет на http://192.0.2.4:8080/ но http://192.0.2.4:8080/ отображается в браузере вместо http://a.example.com/
Что мне нужно изменить, чтобы это заработало? Нужно ли что-то делать на стороне Гетцнера?
1 ответ
Решение
Проблема в том, что вы перенаправляете http://a.example.com
в http://192.0.2.4:8080
, Перенаправление браузера вызывает изменение адресной строки в вашем веб-браузере.
Что вы, вероятно, хотите, это:
- Укажите a.example.com на ip-адрес вашего веб-сервера apache через DNS-запись.
- Установите дополнительный виртуальный хост на основе имени в Apache для
a.example.com
- Настройте
a.example.com
VirtualHost в качестве обратного прокси для вашего узла сервера на порт 8080.
Вы, вероятно, хотите несколько дополнительных директив, но, в общем, вам нужно что-то вроде:
<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/html/
</VirtualHost>
<VirtualHost *:80>
ServerName a.example.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>