По сути, я хочу сделать локальный домашний сервер общедоступным в Интернете. К сожалению, мой интернет-провайдер использует CGNAT, и чтобы получить общедоступный IP-адрес, мне нужно доплатить (около 50 долларов). Я решил, что дешевле использовать VPS.
Итак, я настроил Wireguard Server в Google Cloud через виртуальную машину Compute Engine под управлением Ubuntu 20.04. Я также настроил клиент Wireguard для своего локального сервера дома и подключил его к серверу Wirequard в Google Cloud. Наконец, я установил еще один клиент Wireguard на своем телефоне Android, подключил его к серверу, и все работает нормально.Когда я нахожусь в wireguard на своем телефоне Android, я могу видеть свой локальный сервер снаружи (используя мобильные данные для целей тестирования).
Теперь я хочу сделать локальный домашний сервер общедоступным. У меня есть домен и настроены необходимые записи. Когда я пингую его, он возвращает общедоступный IP-адрес виртуальной машины GCE, что, как я полагаю, означает, что она работает нормально. Затем я установил Nginx на свою виртуальную машину GCE. У меня это работает нормально. Я смог получить доступ к странице Nginx по умолчанию через домен и общедоступный IP-адрес. Затем я изменил конфигурацию по умолчанию, используя следующее, и после этого перезапустил Nginx.
сервер {
слушать 80;
слушать [::]:80;
имя_сервера sub.domain.org; #только пример
место расположения / {
proxy_redirect http://10.200.200.2 http://sub.domain.org;
}
}
Мой Wireguard находится в диапазоне IP-адресов 10.200.200.x (не уверен, что это правильный термин), а 10.200.200.2 — это IP-адрес wireguard моего локального домашнего сервера.
Возможно, я не понял, как работает Nginx, но я ожидал, что через Nginx я смогу публично получить доступ к своему локальному домашнему серверу, просматривая http://sub.domain.org. К сожалению, мне не удалось получить к нему доступ в открытом доступе. Он доступен только при подключении к wireguard.
Есть ли что-то еще, что мне нужно сделать?
Цените любые отзывы.