Вам когда-нибудь надоедало каждый раз вводить логин и пароль при доступе к вашему серверу Proxmox? У меня точно бывало. Поэтому я решил найти способ увеличить время сессии, используя Nginx Proxy Manager. В этом руководстве я покажу, как вы можете сделать то же самое, чтобы ваши сессии оставались активными дольше и облегчить себе жизнь.

Почему стоит продлить время сессии Proxmox?

Если вы, как и я, используете Proxmox через обратный прокси, такой как Nginx Proxy Manager, вам может быть неудобно часто вводить свои учетные данные. Увеличив время сессии, вы сможете оставаться авторизованными в веб-интерфейсе Proxmox дольше, что повысит эффективность вашей работы.

Понимание настроек Nginx Proxy Manager

Nginx Proxy Manager — удобный инструмент для управления настройками обратного прокси через пользовательский интерфейс. Чтобы продлить время сессии и обеспечить корректную поддержку WebSocket для Proxmox, нам нужно внести некоторые изменения в настройках Nginx Proxy Manager.

Установка заголовков прокси

Сначала нам нужно убедиться, что 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;

Настройка WebSocket

Proxmox использует соединения WebSocket для обновлений в реальном времени. Чтобы поддержать это, включите следующие настройки:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";

Установка таймаутов соединения

Чтобы предотвратить прерывание сессии и держать ее активной дольше, отрегулируйте время чтения и отправки:

proxy_read_timeout 36000s;
proxy_send_timeout 36000s;

Настройка SSL для самоподписанных сертификатов

Если вы используете самоподписанные SSL-сертификаты, может потребоваться отключить проверку SSL:

proxy_ssl_verify off;

Поддержание активного соединения

Чтобы убедиться, что соединение остается постоянным и предотвратить разрывы, добавьте эти заголовки:

proxy_set_header Connection keep-alive;
proxy_set_header Keep-Alive timeout=30;

Обеспечение сохранения сессионных куки

Поддерживайте авторизацию, обеспечивая корректную передачу сессионных куки:

proxy_cookie_path / "/; secure; HttpOnly; SameSite=None";

Дополнительно: предотвращение перезаписи заголовка Connection

Чтобы предотвратить перезапись заголовка Connection и обеспечить стабильность, можно включить:

proxy_set_header Connection "";
💡
Вы можете скопировать весь этот блок напрямую в ваш Nginx Proxy Manager для простой настройки!

Пошаговое руководство по внедрению конфигурации

Теперь, когда мы разобрали конфигурации, давайте реализуем их шаг за шагом.

Шаг 1: Доступ к Nginx Proxy Manager

Сначала войдите в панель администратора Nginx Proxy Manager. Если вы не уверены, как к ней получить доступ, обычно можно перейти по адресу http://<ваш-IP-сервера>:81 в вашем браузере.

Шаг 2: Редактирование прокси-хоста для домена Proxmox

Найдите запись прокси-хоста для вашего сервера Proxmox (например, proxmox.<ваш-домен>.com) и нажмите на нее для редактирования.

Шаг 3: Добавление пользовательской конфигурации

В поле Custom Locations вставьте весь блок кода, который мы обсуждали ранее:

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;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";

proxy_read_timeout 36000s;
proxy_send_timeout 36000s;

proxy_ssl_verify off;

proxy_set_header Connection keep-alive;
proxy_set_header Keep-Alive timeout=30;

proxy_cookie_path / "/; secure; HttpOnly; SameSite=None";

proxy_set_header Connection "";
💪
Убедитесь, что вкладка Advanced оставлена пустой, чтобы избежать конфликтующих настроек.

Шаг 4: Сохранение и тестирование

Нажмите Сохранить, чтобы применить изменения. Затем проверьте ваш Proxmox Web GUI, чтобы убедиться, что он остается доступным и сохраняет вашу авторизацию на длительный период.

✔️
Поздравляю! Вы успешно продлили время сессии Proxmox с помощью Nginx Proxy Manager.

Устранение распространенных проблем

Человек настраивает параметры на компьютере, символизируя увеличение времени сессии в Nginx Proxy Manager.
Разработчик, увеличивающий время сессии в Nginx.

Если вы столкнулись с какими-либо проблемами, вот некоторые распространенные вопросы и их решения.

Веб-интерфейс Proxmox не загружается

Если интерфейс Proxmox не загружается после применения настроек, перепроверьте конфигурационный код на наличие опечаток или отсутствующих точек с запятой.

Все еще происходит частый выход из системы

Если вы все еще часто выходите из системы, убедитесь, что сессионные куки обрабатываются корректно. Директива proxy_cookie_path играет ключевую роль в этом.

Если проблемы сохраняются, рассмотрите возможность отмены изменений или обратитесь за помощью к сообществам Proxmox и Nginx.

Дополнительные советы

Вот несколько дополнительных рекомендаций для улучшения вашего опыта с Proxmox и Nginx Proxy Manager.

Обеспечение безопасности соединения

Всегда обеспечивайте безопасность ваших соединений, особенно при открытии таких сервисов, как Proxmox, в интернете. Используйте действительные SSL-сертификаты, когда это возможно.

Регулярное резервное копирование

Перед внесением значительных изменений рекомендуется сделать резервную копию настроек Nginx Proxy Manager и конфигураций Proxmox.

Следуя этим шагам, вы не только продлили время сессии Proxmox, но и улучшили общую эффективность управления сервером.

Если у вас есть вопросы или вы столкнулись с проблемами, не стесняйтесь оставить комментарий ниже. Я всегда рад помочь коллегам-энтузиастам!

Заключение

Продление времени сессии для Proxmox с использованием Nginx Proxy Manager — это простой процесс, который может сэкономить вам время и избавить от неудобств. Настроив несколько параметров, вы сможете дольше оставаться авторизованными и наслаждаться более плавным управлением вашими виртуальными средами.

Спасибо за чтение, надеюсь, это руководство было полезным. Удачной работы!