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
Другие вопросы по тегам