Настройка VPS для редиректа на локальный сервер
Арендуем VPS, получаем IP адрес который привязываем к DNS сайта.
Скачиваем скрипт для настройки OpenVPN wget https://git.io/vpn -O openvpn-install.sh
Делаем его исполняемым chmod +x openvpn-install.sh
Запускаем и следуем по шагам конфигуратора ./openvpn-install.sh
В корне появляется файл с конфигом клиента, копируем его на клиент в каталог /etc/openvpn/
с расширением .conf
Запускаем на клиенте daemon systemctl start openvpn@"имя скопированного файла"
Включаем запуск при запуске системы systemctl enable openvpn@"имя скопированного файла"
Проверяем что на сервере и клиенте поднялся tun
интерфейс командой ifconfig
, проверяем ходят ли пинги ping 10.8.0.1
c клиента или ping 10.8.0.2
с сервера, IP адреса по умолчанию.
Устанавливаем Nginx sudo apt install nginx
Прописываем конфигурацию nano /etc/nginx/sites-available/default
server {
server_name yoursite.ru www.yoursite.ru;
# Переадресация всех запросов на внутренний IP OpenVPN сети
location / {
proxy_pass http://10.8.0.2:8080; # указываем IP клиента (порт который будет слушаться приложением на клиенте)
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Проверяем наличие ошибок в конфигурации nginx -t
Устанавливаем SSL сертификаты
sudo apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx
sudo certbot renew --dry-run
systemctl reload nginx
Проверяем доступность curl -I http://10.8.0.2:8080/
reboot