如何添加Nginx多个网站禁止通过ip访问,禁止访问某一目录?
我们在网站建设过程中,可能会遇到一些比较特殊的需求,比如禁止通过服务器IP来访问网站,禁止访客访问网站的某些不想被公开的网站目录,今天我们就来说说Nginx添加多个网站,禁止通过ip访问,禁止访问某些目录的方法。
一、同一个nginx上安装多个网站的方法
在nginx.conf的http{}中按照说明修改server{}字段
server {
listen 80;
server_name antdir.cn; #所绑定的域名
location / {
root example; #该域名对应的网站根目录
index index.html index.htm index.php;
}
location ~ \.php$ { #支持php
root C:/nginx/html; #php访问目录
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
如果想添加多个网站,添加多个server{}并绑定不同的域名,设置不同的根目录即可。
二、以下是禁止通过ip访问的代码
server {
listen 80 default_server;
server_name _;
return 444; #当有用户通过ip访问时返回的HTTP状态码
}
三、禁止访问某些目录
location ^~ /admin/test/ {
deny all;
}
这样就可以禁止访问/admin/test目录下的任何文件。