# 2021-01-10 #「Nginx」- 禁止直接访问(通过网络地址访问)

问题描述

我们希望禁止通过 ip-address:port 形式的访问,并且“禁止”的含义为不做任何响应。

解决方法

server {
    listen 80 default_server;
    server_name _; # 不重要
    return 444;
}

default_server:表示该 server 为默认 server(用于处理通过网络地址访问的请求)。如果所有的 server 都没有 default_server 配置,则使用首个 server 配置。
return 444:表示不响应,立即关闭连接。通过 curl 测试时,将返回 curl: (52) Empty reply from server 信息。

参考文献

WikiNotes/禁止直接访问(通过网络地址访问)
Module ngx_http_core_module / listen
Nginx / Server names
Blocking IPs with Nginx – DreamHost Knowledge Base
How to block access using the Server IP in NGINX? | DigitalOcean


posted @ 2021-01-10 20:19  研究林纳斯写的  阅读(280)  评论(0编辑  收藏  举报