Re: server_name_in_redirect?

2019-11-01 Пенетрантность Maxim Dounin
Hello!

On Fri, Nov 01, 2019 at 10:57:32AM -0400, opan wrote:

> Добрый день. 
> 
> Есть следующая конфигурация сервера:
> 
> server {
> listen   80; ## listen for ipv4
> listen   443 default_server ssl;
> 
> server_name localhost;
> server_name_in_redirect off;
> 
> location = /loc {
>   if ($scheme = http) {
> return 301 https://$server_name$request_uri;
>   }
> 
> ...
> Мы ожидаем что все запросы, которые попадают в этот пустой server_name,
> будут перенаправляться на https://$host/loc/$request_uri, так как есть
> директива:server_name_in_redirect off; Однако запросы перенаправляются
> на https://localhost/loc/$request_uri
> 
> Из документации такое поведение не удалось понять. Можете пояснить,
> пожалуйста, как правильно пользоваться это директивой?

Директива server_name_in_redirect влияет только на то, что будет 
испольвоваться в host-части перенаправлений, которые возвращает 
сам nginx (а равно в случаях, когда nginx преобразует 
перенаправления к абсолютным).

В приведённом же случае - в перенаправлении явно используется 
$server_name, и результат будет ровно такой, как написано, 
значение директивы server_name_in_redirect никак на это не влияет.  
Если вы хотите, чтобы возвращалось перенаправление на https://$host - так 
и напишите в конфиге.

-- 
Maxim Dounin
http://mdounin.ru/
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

server_name_in_redirect?

2019-11-01 Пенетрантность opan
Добрый день. 

Есть следующая конфигурация сервера:

server {
listen   80; ## listen for ipv4
listen   443 default_server ssl;

server_name localhost;
server_name_in_redirect off;

location = /loc {
  if ($scheme = http) {
return 301 https://$server_name$request_uri;
  }

...
Мы ожидаем что все запросы, которые попадают в этот пустой server_name,
будут перенаправляться на https://$host/loc/$request_uri, так как есть
директива:server_name_in_redirect off; Однако запросы перенаправляются
на https://localhost/loc/$request_uri

Из документации такое поведение не удалось понять. Можете пояснить,
пожалуйста, как правильно пользоваться это директивой?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,286073,286073#msg-286073

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru