Настраиваем pritunl-vpn + site на одном сервере

0
(0)

pritunl-vpn сам по себе не нуждается в дополнительном веб сервере типа «nginx» так как реализует у себя под копотом веб сервер.

Но что если нам надо на том же сервере (ввиду маленьких бюджетов) иметь и nginx с 443 портом и pritunl-vpn, который по дефолту тоже использует 443 порт?

Сначала меняем web console port у pritunl-vpn. Самый верный способ, особенно если по каким-то причинам недоступна веб-морда, это выполнить команду

Bash
pritunl set app.server_port 444

Создаем конфиг файл для nginx — /etc/nginx/conf.d/pritunl-vpn.conf

Nginx
upstream pritunl-vpn {
    server 127.0.0.1:444;
}

server {
    listen 80;
    root /usr/share/nginx/html;
    server_name vpn.example.com;
    location /.well-known {
      allow all;
    }
    location / {
      return 301 https://vpn.example.com$request_uri;
    }
}

server {
    server_name ams-vpn.andtree.ru;
    location / {
        proxy_pass https://pritunl-vpn;
        proxy_ssl_verify off;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Тут мы сознательно опустили ожидаемый 443 порт и серты, так как хотим использовать certbot для этого. Следовательно выполняем

Bash
certbot certonly --nginx

Во второй блок server нашего конфига вставляем следующее:

Nginx
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/vpn.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vpn.example.com/privkey.pem;

Запускаем nginx и pritunl-vpn. Ваш сайт и pritunl-vpn должны работать не мешая друг другу.

Насколько статья полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Оставить комментарий