Nginx, таргетинг на имя_сервера "." не будет перенаправлять
Когда вы набираете "dev1.example.com." в ваш браузер или вы запрашиваете хост с вашим HTTP-клиентом, я хочу, чтобы он перенаправил на "dev1.example.com". Я попытался сделать это с помощью следующего блока сервера:
server {
listen 80;
server_name dev1.example.com.;
add_header Pragma no-cache;
add_header Expires "Sat, 01 Jan 2000 00:00:00 GMT";
add_header Cache-Control "private, no-cache, no-store, max-age=0, must-revalidate, post-check=0, pre-check=0";
return 301 http://dev1.example.com$request_uri;
}
Однако, похоже, ничего не происходит. Я попытался очистить кэш распознавателя DNS, очистив кэш DNS собственного браузера, и даже запросил URL с помощью Curl. Запрошенный URL-адрес: "dev1.example.com". Я ожидал бы, что это перенаправит к "dev1.example.com".
1 ответ
Эта конфигурация работает. Вы можете проверить с помощью CURL:
curl -v -H 'Host: dev1.example.com.' -o /dev/null http://dev1.example.com
Вот транзакция с CURL:
> GET / HTTP/1.1
> User-Agent: curl
> Accept: */*
> Host: dev1.example.com.
>
< HTTP/1.1 301 Moved Permanently
< Server: nginx
< Date: Fri, 25 Jul 2014 04:30:37 GMT
< Content-Type: text/html
< Content-Length: 184
< Connection: keep-alive
< Location: http://dev1.example.com/
< Pragma: no-cache
< Expires: Sat, 01 Jan 2000 00:00:00 GMT
< Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate, post-check=0, pre-check=0