uwsgi_ssl_server_name

Директива `uwsgi_ssl_server_name` указывает, отправлять ли имя сервера на сервер uWSGI по SSL. — NGINX HTTP Core

uwsgi_ssl_server_name
httpserverlocation
Синтаксисuwsgi_ssl_server_name on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `uwsgi_ssl_server_name` применяется в разных контекстах, включая `http`, `server` и `location`. Если она включена, она инструктирует NGINX передавать имя сервера, указанное в заголовке `Host`, в приложение uWSGI при взаимодействии по SSL. Это особенно полезно в случаях, когда сервер uWSGI должен знать исходное имя сервера из-за конфигураций виртуального хостинга. При значении 'on' NGINX будет включать переменную `SERVER_NAME` в uWSGI-запросы, что позволяет более точно маршрутизировать и управлять поведением на основе конфигурации виртуального хоста. Параметр требует только флага без дополнительных аргументов; простая установка директивы включает её функциональность. Важно убедиться, что целевое приложение uWSGI корректно интерпретирует переданное имя сервера, чтобы не было неправильной маршрутизации запросов или ошибок при обработке HTTP-ответов. Эта директива улучшает совместимость и интеграцию между NGINX и uWSGI в случаях SSL-терминации, что делает её полезным вариантом для разработчиков, стремящихся сохранить контекст для своих веб-приложений при использовании защищённых соединений. Регулировка этого параметра может потребоваться, если вы сталкиваетесь с проблемами обработки запросов на основе имени сервера в сценариях, где на одной и той же бэкенд‑среде размещены приложения для нескольких доменов.

Пример конфига

server {
    listen 443 ssl;
    server_name example.com;
    # other ssl configurations

    location / {
        uwsgi_pass unix:/path/to/your.sock;
        uwsgi_ssl_server_name on;
        uwsgi_param SCRIPT_NAME '';
        uwsgi_param PATH_INFO $uri;
    }
}

Убедитесь, что ваше приложение uWSGI настроено так, чтобы корректно распознавать переменную SERVER_NAME.

Эта директива применяется только при использовании SSL; убедитесь, что ваш server block настроен для SSL-подключений.

Будьте осторожны при использовании этой директивы с несколькими server blocks, так как при неправильной настройке это может привести к непредвиденным последствиям.