У меня небольшая сеть с веб-сервером и сервером доступа OpenVPN (с собственным веб-интерфейсом). У меня есть только 1 publi c ip, и я хочу иметь возможность указывать субдомены на веб-сайты на веб-сервере (например, website1.domain.com, website2.domain.com) и указывать субдомен vpn.domain.com на веб-интерфейс сервер доступа OpenVPN.
После некоторых действий Google я думаю, что путь к go - это настроить прокси-сервер. NGINX похоже, может сделать это с помощью функции "proxy_pass". Я заставил его работать для URL-адресов HTTP-бэкэнда (веб-сайтов), но он не работает для веб-интерфейса OpenVPN Access Server, поскольку он заставляет использовать HTTPS. Меня устраивает HTTPS, и я предпочитаю использовать его также для веб-сайтов, размещенных на веб-сервере. По умолчанию самозаверяющий сертификат. установлен, и я хочу использовать также самоподписанный сертификат. для других сайтов.
Как я могу «принять» самоподписанный сертификат. для бэкэнд-серверов? Я обнаружил, что мне нужно создать сертификат. и определите его в конфигурации обратного прокси NGINX, но я не понимаю, как это работает, например, на моем сервере OpenVPN уже установлен сертификат SSL. Я могу посетить веб-интерфейс OpenVPN через https://direct.ip.address.here/admin, но получаю страницу «Этот сайт не может обеспечить безопасное соединение», когда я пытаюсь получить доступ к веб-интерфейсу через Chrome.
Моя NGINX конфигурация обратного прокси:
server {
listen 443;
server_name vpn.domain.com;
ssl_verify_client off;
location / {
# app1 reverse proxy follow
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://10.128.20.5:443;
proxy_ssl_verify off;
}
access_log /var/log/nginx/access_log.log;
error_log /var/log/nginx/access_log.log;
}
server {
listen 80;
server_name website1.domain.com;
location / {
# app1 reverse proxy follow
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.128.11.20:80;
}
access_log /var/log/nginx/access_log.log;
error_log /var/log/nginx/access_log.log;
}
Ближайшая мысль ... Возможно, NGINX совсем не подходит для этого (сейчас или в долгосрочной перспективе )? Предположим, я могу исправить сертификат. Проблема, которая у меня есть в настоящее время, и нам нужно больше внутренних веб-серверов для обработки трафика c, можно ли также масштабировать прокси NGINX? как кластер или балансировщик нагрузки или что-то в этом роде? Стоит ли искать совершенно другой инструмент?