1

В настоящее время я сталкиваюсь с небольшой проблемой при использовании nginx для перенаправления на другой хост. Я хочу, например, перенаправить https://service.company.com/new/test.html на https://new-service.company.com/test.html.Возврат Nginx по адресу

На данный момент у меня есть следующая конфигурация, которая перенаправляет меня на https://new-service.company.com/new/test.html.

server { 
     # SSL 
     ssl_certificate /etc/nginx/cert/chained_star_company.com.crt; 
     ssl_certificate_key /etc/nginx/cert/star_company.com.key; 

     listen 443; 
     server_name service.company.com; 

     location /new/$1 { 
     return 301 $scheme://service-new.company.com/$1; 
    } 

} 

Я также попытался следующие с тем же результатом:

return 301 $scheme://service-new.company.com/$request_uri 

ответ

1

Вы хотите переписать URI и перенаправления. Вы можете достичь его с помощью location и return директив, но rewrite директива будет самый простой подход:

rewrite ^/new(.*)$ https://new-service.company.com$1 permanent; 

this document См больше.

Кстати, проблема с вашим блочным решением location была регулярной фиксацией выражения, не было. Использование:

location ~ ^/new(.*)$ { 
    return 301 https://new-service.company.com$1$is_args$args; 
} 

См. this document для получения дополнительной информации.

Смежные вопросы