Re: Запрет неправильного host для ipv6

iprok nginx-forum at nginx.us
Tue Aug 26 20:40:58 UTC 2014


Maxim Dounin Wrote:

> Т.е. делать ровно так же:
> 
>     server {
>         listen 80 default_server;
>         listen [::]:80 default_server;
>         return 444;
>     }

Я первым делом попробовал предложенный Вами конфиг. К сожалению вот такой
вот вариант конфига не работает, если убрать комментарий:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http { 
        server {
                listen 8080 default_server;
                listen [::]:8080 default_server;
                return 444;
        }
        server {
                listen XXX.XX.XXX.251:8080;
#               listen [2aXX:X:XXX:XXXX:2::6]:8080 ipv6only=on;
                server_name "test.local";
        }
}

Если конфиг с комментарием, то nginx запускается, биндясь на
netstat -tulpn | grep nginx
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN  
   16821/nginx.conf
tcp6       0      0 :::8080                 :::*                    LISTEN  
   16821/nginx.conf

Если комментарий убираю, то получаю ошибку:
nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:8080 failed (98: Address already in use)
nginx: [emerg] still could not bind()
 failed!

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,252860,252864#msg-252864



Подробная информация о списке рассылки nginx-ru