在LNMP(Linux, Nginx, MySQL, PHP)环境下,禁止通过IP地址访问网站可以通过Nginx配置来实现。以下是具体的步骤:
找到并编辑Nginx的配置文件:
通常,Nginx的配置文件位于 /etc/nginx/nginx.conf 或者 /etc/nginx/conf.d/ 目录下。你需要找到你的网站对应的配置文件。
添加禁止IP访问的规则:
在你的网站server块中,添加一个新的server块,用于匹配通过IP地址的访问请求,并返回403 Forbidden状态码。具体配置如下:
nginx
Copy code
server {
listen 80;
server_name 你的服务器IP地址;
return 403;
}
然后在你现有的server块中配置正常的域名访问:
nginx
Copy code
server {
listen 80;
server_name yourdomain.com;
# 其他配置
root /path/to/your/website;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 视具体PHP版本而定
}
# 其他配置
}
重启Nginx服务:
保存配置文件后,检查配置文件是否有语法错误并重启Nginx服务:
sh
Copy code
sudo nginx -t
sudo systemctl restart nginx
通过上述配置,当用户尝试通过IP地址访问你的服务器时,将会被返回403 Forbidden错误,而通过域名访问则正常处理。
注意:
将 你的服务器IP地址 替换为你实际的服务器IP地址。
如果你有多个域名或多站点,需要在对应的server块中进行相应的配置。 |