nginx 埠監聽BUG
nginx 埠監聽BUG
nginx.conf 配置如下:
server
{
server_name _; #default
return 444;
}
####################################################################
server
{
listen 10.121.25.88:80;
server_name www.test.com;
index default.html index.html;
root /www/www.test.com;
include rewrite/www.test.com;
include static.conf;
log_format www.test.com '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/www.test.com.log www.test.com;
}
#####################################################################
server
{
listen 10.121.25.89:88;
server_name www.domin.com;
index default.html index.html;
root /www/www.domin.com;
include rewrite/www.domin.com;
include static.conf;
log_format www.domin.com '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /data1/logs/www.domin.com.log www.domin.com;
}
但是我用www.test.com:88也能訪問並且是www.domin.com下的內容
nginx的監聽如下:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 20102/nginx: worker keepalive (0.00/0/0)
tcp 0 0 0.0.0.0:88 0.0.0.0:* LISTEN 20102/nginx: worker off (0.00/0/0)
從上可以看出nginx並沒有對每個IP進行單獨的埠監聽 而是監聽所有IP下的80和88埠導致訪問www.test.com:88埠時返回www.domin.com的內容
這個有什麼辦法可以規避嗎???
[火星人
]
nginx 埠監聽BUG已經有477次圍觀
http://coctec.com/docs/service/show-post-1909.html