Настройка VPS для редиректа на локальный сервер

Orange PI

splinter

Арендуем 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