在调试和调整时,我暂时将站点限制为单个IP。不幸。 nginx允许我的IP,然后否认一切似乎都没有做!
我知道有连接的“拒绝” IP,因为以下内容返回了许多IP:
netstat -anp | grep -E ":80|:443" | grep ESTABLISHED
我的最小nginx.conf:
server {
server_name myserver.com;
root /var/www/myserver;
index index.php;
include global/restrictions.conf;
allow 107.77.323.112; # allowed IP address
deny all;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass unix:/var/run/php7.2-fpm.sock;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
listen 443 ssl;
ssl_certificate /home/admin/myserver_com.chained.crt;
ssl_certificate_key /home/admin/-myserver.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
}
答案 0 :(得分:0)
nginx拒绝不会阻止连接,因此会进行简短连接以返回403错误。
netstat结果可能看起来好像有许多连接随时间打开,但是仔细观察会发现,即使连接数保持相对恒定,端口号也在改变。相同的客户端只是在尝试连接。
这个小bash代码段在分析连接时非常有用。
sudo netstat -anp | grep -E ":80|:443" | grep ESTABLISHED | cut -c 43-64 | uniq | sort
我多次运行它,每次都等待并将其输出到另一个文件。然后我随时间比较了文件以找到常见的行:
grep -Fxf t1.txt t2.txt
我发现从t1.txt到t2.txt可能还有一些连接,但是过了一会儿,t1.txt与t3.txt却没有剩余的连接。换句话说,所有的连接都是新的。