如何设置nginx可以让ip可以直接访问网站

发布网友 发布时间:2022-04-20 04:31

我来回答

2个回答

懂视网 时间:2022-05-02 11:52

http://nginx.org/en/docs/http/ngx_http_access_module.html

官方示例:

The ngx_http_access_module module allows limiting access to certain client addresses.限定资源只被指定的客户端访问。

Example Configuration:
location / {
    deny  192.168.1.1;        #自上而下检测,匹配范围小的在上面
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}
Syntax:allow address | CIDR | unix: | all;
Default:
Context:http, server, location, limit_except
Syntax:deny address | CIDR | unix: | all;
Default:
Context:http, server, location, limit_except

Context:适用配置段


演示环境:

Server:192.168.47.140
Client1:192.168.47.137
Client2:192.168.47.138

[root@GaoServer ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@GaoServer ~]# uname -r
3.10.0-327.el7.x86_
[root@GaoClient ~]# nginx -V 
nginx version: nginx/1.10.2
......

相关配置:

#Server配置:
[root@GaoServer ~]# cat /data/html/server/index.html 
<h1>192.168.47.140</h1>
[root@GaoServer ~]# vim /etc/nginx/conf.d/Vhost.conf
server {
        listen 80;
        location /server/ {
                root /data/html/;
                allow 192.168.47.137;    #设定允许192.168.47.137
                deny all;                #拒绝所有
        }
}
[root@GaoServer ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@GaoServer ~]# nginx -s reload

#测试:
#Client(192.168.47.137)访问:
[root@GaoClient1 ~]# ifconfig eno16777736 | grep "inet[[:space:]]" | sed ‘s/^.*et //g‘ | sed ‘s/netmask.*$//g‘
192.168.47.137  
[root@GaoClient1 ~]# curl http://192.168.47.140:/server/
<h1>192.168.47.140</h1>

#Client(192.168.47.138)访问:
[root@GaoClient2 ~]# ifconfig eno16777736 | grep "inet[[:space:]]" | sed ‘s/^.*et //g‘ | sed ‘s/netmask.*$//g‘
192.168.47.138  
[root@GaoClient2 ~]# curl http://192.168.47.140:/server/
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>    #403 Forbidden权限拒绝。
<hr><center>nginx/1.10.2</center>
</body>
</html>


本文出自 “Gning丶” 博客,请务必保留此出处http://gning.blog.51cto.com/11847592/1968243

Nginx实现基于ip的访问控制(Ngx_http_access_module模块)

标签:nginx;web服务器;

热心网友 时间:2022-05-02 09:00

1、nginx默认的就是IP直接可以访问网站

2、有多个站点的话

server {
    listen       80;
    server_name  localhost;
    ...
}

server {
    listen       80;
    server_name  *.example.org;
    ...
}

server {
    listen       80;
    server_name  mail.*;
    ...
}

server {
    listen       80;
    server_name  ~^(?<user>.+)\.example\.net$;
    ...
}

将localhost放置在最顶部位置即可

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