Nginx如何禁止从IP访问

发布于 2021-01-16  56 次阅读


之前有写过Apache的IP禁止访问,这次来写个Nginx的
禁止80端口:

server
{
    listen 80 default_server;
    server_name _;
    return 444;
}

还是非常简单的
但是Nginx和Apache稍微有些不同,Apache直接从IP访问443时会报400错误,而Nginx则不会,所以得加上禁止https的
加起来就是

server
{
    listen 80 default_server;
    listen 443 default_server;
    server_name _;
    ssl_certificate /yourpath/fullchain.pem;
    ssl_certificate_key /yourpath/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    return 444;
}

nginx需要有完整的https配置才能生效,至于证书嘛......随便就可以。之前也有写如何自定义ssl证书的文章,可以参考一下