1
matsuz 2019-08-22 15:09:04 +08:00
所以你是想不让你的服务器接入公网, 但是又想让公网上的用户能访问你的 NGINX 的站点 ???
你这个需求简直匪夷所思 |
3
enng 2019-08-22 15:14:23 +08:00
比如说
allow 192.168.0.0 ; deny all ; 只允许内网 ip 地址段,或者 iptables ? |
4
arrow8899 2019-08-22 15:14:58 +08:00
你怎么禁止的,理论上禁止外网不会影响内网访问啊
|
5
godoway 2019-08-22 15:15:30 +08:00 via Android
只允许内网访问可以在 Nginx 限制一下仅内网 IP 吧。
|
6
matsuz 2019-08-22 15:24:27 +08:00
如果 NGINX 有装了 http_access 模块的话向 #3 那位老兄说的那样, 在 server 段里面
allow 10.0.0.0/8; allow 172.16.0.0/12; allow 192.168.0.0/16; deny all; 或者通用的, 用 iptables 限制只允许上面这三种内网 IP 段访问就行了 |
7
maichael 2019-08-22 15:26:22 +08:00
所以你的需求到底是个啥?用域名访问内网的服务器?
|
8
Vegetable 2019-08-22 15:33:30 +08:00
你不希望的你网站被外网访问(a)还是不希望服务器可以访问外网(b)?
感觉上边都在说 a,但 a 很简单内网白名单就好了,难道是 1 楼说的这个 b 情况? 这样有一点麻烦,因为 http 不是单向的,nginx 必须能和外部 ip 建立 http 链接.所以不能限制 nginx 这个进程. |
9
GoLand 2019-08-22 15:35:26 +08:00
allow / deny 就可以了
|
10
qwerthhusn 2019-08-22 15:39:49 +08:00
我感觉很多 V 友提问题,说的不清不楚。。。看了半天没明白个意思
|
11
momocraft 2019-08-22 15:42:08 +08:00
> #10
正常 能正确描述问题的人更有可能自己解决问题 |
12
imdong 2019-08-22 15:42:42 +08:00
我猜,是 Nginx 是对内使用的。
所以不想对外暴露 Nginx。 这个问题嘛,关掉外网访问,解析到内网 IP 即可。 如果内网不互通,那就楼上的 IP 白名单吧。 |
13
bfqymmt OP 各位老师,看了你们的回复,我明白了,是我思考方向错了。
nginx 保护的是不能连接外网的内部服务器,而不是 nginx 本身服务器。 就此结贴,谢谢各位的帮助。 |
14
xuanbg 2019-08-22 15:59:41 +08:00
@qwerthhusn 能知道是什么问题的,基本上都能自己解决了。所以你看大量的问题都是没什么价值的傻问题,其中大部分问题都不知道是在问什么。。。然后,社区里面经常帮别人解决问题的人,基本上从来都不提问题。
|
15
xhcnb 2019-08-22 16:20:09 +08:00
我先猜测一下,楼主你遇到的问题可能是这样的
Internet -> Rrouter -> Nginx -> Server 你现在想让 nginx 只能访问 Router 和 Server 对吧? 然后发现设置成这样以后, 外部 Internet 进来的流量也无法访问 nginx 了 如果是这样的情况, 引起的原因是 router 在 80 端口进行转发给 nginx 时实际上时把公网流量进行了转发, 没有修改 ip 包的源地址, 相当于是 nginx 直接收到了外网的包, 这样 nginx 返回数据包时也要返回给外网, 就不通了 我这里有 ubnt 的路由器可以这样设置防火墙 local ALL allow 内网允许 internet IN allow 公网 入 允许 internet ESTABLISHED allow 公网 已连接 允许 internet OUT deny 公网 出 禁止 可以参考设置一下, 或者设置 router 转发 80 端口流量的方式, 改为由 router 代理的方式 |
16
xhcnb 2019-08-22 16:21:14 +08:00
楼主既然清楚了, 请忽略我的回复
|