linux网站如何屏蔽通过ip访问
linux网站如何屏蔽通过ip访问详细介绍
若要屏蔽 Linux 网站通过 IP 访问,可借助 Nginx 或者 Apache 等 Web 服务器进行配置,下面为你分别介绍这两种服务器的配置方法。
Nginx 配置方法
在 Nginx 中,你可以创建一个默认的 server 块,当通过 IP 访问时返回 444 状态码(Nginx 的特殊状态码,会直接关闭连接)。
- 编辑 Nginx 配置文件:通常位于
/etc/nginx/sites-available/default或/etc/nginx/nginx.conf。
bash
/etc/nginx/sites-available/default
- 添加默认 server 块:在文件中添加如下配置:
nginx
default_server
[::]:80 default_server
_
ssl default_server
[::]:443 ssl default_server
_
/path/to/your/cert.pem
/path/to/your/privkey.pem
这里的/path/to/your/cert.pem和/path/to/your/privkey.pem需替换成你的 SSL 证书和私钥的实际路径。如果没有启用 SSL,可去掉 443 端口相关的配置。
3. 检查配置文件语法:
bash
nginx
- 重新加载 Nginx 服务:
bash
systemctl reload nginx
Apache 配置方法
在 Apache 中,你可以创建一个默认的虚拟主机,当通过 IP 访问时返回 403 状态码(禁止访问)。
- 编辑 Apache 配置文件:通常位于
/etc/apache2/sites-available/000-default.conf。
bash
/etc/apache2/sites-available/000-default.conf
- 添加默认虚拟主机配置:在文件中添加如下配置:
apache
<VirtualHost *:80>ServerName _
Redirect 403 /
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName _
SSLEngine on
SSLCertificateFile /path/to/your/cert.pem
SSLCertificateKeyFile /path/to/your/privkey.pem
Redirect 403 /
</VirtualHost>
</IfModule>
这里的/path/to/your/cert.pem和/path/to/your/privkey.pem需替换成你的 SSL 证书和私钥的实际路径。如果没有启用 SSL,可去掉 443 端口相关的配置。
3. 检查配置文件语法:
bash
apache2ctl configtest
912 apache2ctl configtest
- 重新加载 Apache 服务:
bash
systemctl reload apache2
912 systemctl reload apache2
通过上述配置,就能屏蔽通过 IP 对网站的访问。