@historydev
Острая аллергия на анимешников

Как использовать proxy_pass для https?

Задача: получить доступ к веб админке proxmox backup server.

Схема: host (domain.com - 192.168.0.106) <=> vm (nginx) (192.168.100.2) <=> another vm (proxmox backup server) (192.168.100.8)

Вчера весь день гуглил как изменить адрес, порт и протокол на котором заводится админка pbs, ничего не нашёл, решил зайти с другой стороны.

На another vm (proxmox backup server) адрес веб-интерфейса указан как https://192.168.100.8:8007, однако при curl https://192.168.100.8:8007 получаем ошибку ssl.

Я пошёл дальше, пробую curl 192.168.100.8:8007 - ответ пустой.

Погуглил ошибку ssl, посоветовали флаг -k, при обращении curl -k https://192.168.100.8:8007 получаю html интерфейса.

Скрины

658d30f0a759f909992495.png
658d30f730d68765899954.png


domain.com nginx ssl config

#listen 80;

    listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    gzip off;
    proxy_max_temp_file_size 0;
    #http2_max_field_size 64k;
#http2_max_header_size 512k;

#    location / {
#       return 123;    
#    }

    location /backup {
#       proxy_set_header   X-Forwarded-For $remote_addr;
#        proxy_set_header   Host $http_host;
        proxy_pass https://192.168.100.8:8007;
        ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
    }

    location /dashboard/ {
        proxy_pass http://192.168.100.5:8001/dashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/;
    }

}



Нашёл доки nginx где советуют добавить ssl в роут, я попробовал, получаю 502 ошибку:
root@nginx:/home/nginx-user# curl -k https://localhost/backup
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.18.0 (Ubuntu)</center>
</body>
</html>


https://docs.nginx.com/nginx/admin-guide/security-...

При обращении на внешний адрес, https://domain.com/backup, долгая загрузка, а после редирект на https://192.168.100.8:8007/
  • Вопрос задан
  • 161 просмотр
Пригласить эксперта
Ответы на вопрос 1
IvanU7n
@IvanU7n
скорее всего поможет:
location /backup/ {
  proxy_pass https://192.168.100.8:8007/;
  proxy_redirect https://192.168.100.8:8007/ /backup/;
}


в текущей конфигурации идёт обращение к https://192.168.100.8:8007/backup, что ведёт к редиректу, который пробрасывается напрямую без обработки
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы