nginx 怎么访问

发布网友

我来回答

2个回答

懂视网

nginx中通过 访问 控制来允许或拒绝某些IP或用户 访问 。常用的方法如下: 一:通过ngx_http_access_module模块来允许某些IP的客户端 访问 ,通过关键字allow和deny来实现 allow :允许指定的网络地址 访问 。 deny :拒绝指定的网络地址 访问 。 location /

nginx中通过访问控制来允许或拒绝某些IP或用户访问。常用的方法如下:


一:通过ngx_http_access_module模块来允许某些IP的客户端访问,通过关键字allow和deny来实现

allow:允许指定的网络地址访问。

deny:拒绝指定的网络地址访问。

location / {
 deny 192.168.2.6;
 allow 192.168.2.0/24;
 deny all;
}

上面的例子中,规则从上到下依次检测,允许192.168.2.0/24网络访问,但192.168.2.6除外,其余的都拒绝。

二:基于ngx_http_auth_basic_module模块允许使用“HTTP基本认证”协议验证用户名和密码来对资源的访问。

auth_basic STRING|off; //默认为off

auth_basic_user_file FIEL; 指定保存用户名和密码的文件。

location / {
 auth_basic "private";
 auth_basic_user_file /usr/nginx/.htpasswd;
}

其中.htpasswd文件可以手动创建,也可以使用Apache发行包中的htpasswd命令来创建此文件。

htpasswd的使用方法:

htpasswd -cm /usr/nginx/.htpasswd user1

第一次使用时要加"-c"参数,以后不需要了。

三:satisfy实现同时通过IP地址和密码来访问。

satisfy all|any; //默认为all

上面说到两个模块ngx_http_access_module和ngx_http_auth_basic_module,当satisfy使用参数all时,表示只有当两个模块的所有条件都授权访问时,才允许请求访问;当使用参数any时,表示当任意模块的任意条件授权访问时,允许请求访问。


location / {
 satisfy any;
 allow 192.168.2.0/24;
 deny all;
 auth_basic "private";
 auth_basic_user_file /usr/nginx/.htpasswd;
}

上面例子表示只要满足一组,即可访问。


阿三哥

热心网友

nginx如何*指定ip访问?对于NGINX这个后起之秀的反向代理的Http服务软件,相信做系统管理人员一定不会陌生,便很多时候,对于如何*指定IP地址访问NGINX服务器,我想分享一下这个知识点;

如图示,首先我们安装好一台LNMP服务器:

我这里是一键安装:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh

这里大家可以在是百度上搜一下便知道了,不做具体讲述;安装成功后,我们可以看到MYSQL启动,NGINX也启动了;然后,我们看一下启动效果;

然后;我们来找到nginx安装目录:

可以看到,NGINX安装在/usr/local/nginx目录下,那么,我们进入:/usr/local/nginx/conf/目录,并打开nginx.conf主配置文件;

找到server然后在server"{}",在这个大括号内加入deny IP地址是*某IP地址访问;allow IP地址是只允许某IP地址访问;如图示,是*192.168.1.1/24段访问此站,然后我们来验证一下:

[root@202 conf]# /etc/init.d/nginx reload

Reloading nginx daemon configuration....

可以看到,已经出现403 Forbidden,说明此段IP地址已经不能访问此站;

这里只是讲了一种nginx如何*指定ip访问站点的方法,其实在实际当中,我们往往是指定某个IP访问某个站点或*某个IP访问某个站点的某个目录或文件;大家可以举一返三;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com