В настоящее время у меня есть Time Capsule для пересылки всех входящих запросов на порт 80 на мой Mac Mini, на котором работает веб-сервер с локальным IP-адресом 192.168.1.8
. У меня также настроен DNS, так что если я перейду к example.com
затем он отправит запрос на мой статический общедоступный IP-адрес, который, в свою очередь, заставит Time Capsule перенаправить запрос через порт 80 на мой Mac Mini.
Однако теперь у меня есть Raspberry Pi в локальной сети с IP-адресом 192.168.1.5
. Я хочу иметь доступ к веб-серверу на Raspberry Pi, перейдя в pi.example.com
, но я не знаю, как заставить Time Capsule переадресация портов на основе домена. Я хотел бы иметь что-то, что работает примерно так:
example.com:80 --> public IP --> 192.168.1.8:80
pi.example.com:80 --> public IP --> 192.168.1.5:80
Обновить
Мне удалось сделать это с виртуальными хостами и прокси-серверами в Apache. Однако это только для HTTP на порту 80, как я могу сделать это с другими службами, такими как SSH и FTP? Подобно:
example.com:21 --> public IP --> 192.168.1.8:21
pi.example.com:21 --> public IP --> 192.168.1.5:21
Вам понадобится HTTP-сервер, действующий как прокси-сервер, для пересылки на основе доменного имени. Time Capsule, вероятно, просто выполняет NAT, поэтому не может этого сделать.