nginx玩的好的高手进,在线等答案
发布于 4天前 作者 CocaCola183 464 次浏览 来自 问答

服务器1,装有nginx,ip为ip1; 服务器2,跑有node程序,ip为ip2; 现在使用服务器1配置了一个域名,通过该域名可以访问服务器2上的node程序(避免采用ip+端口) 这时候如果ping 该域名,ping的ip地址究竟是服务器1,还是服务器2呢?

我的测试结果是ping出来的是服务器1,即装有nginx的服务器 但是既然已经用nginx作了代理,使用该域名也访问的时服务器2,应该ping的是服务器2的ip啊?

求高手解释啊!

19 回复

自己先顶一个

顶顶顶顶顶!

nginx反向代理。请百度一下,反向代理的工作机制

nginx只是代理服务器,ping是通过DNS查询的,不是一个概念。

@simon4546 感谢回答,新手不懂,再学习一下

@jysperm 是觉得我读书太少么,糗。。。

呃…要好好弄懂反向代理的原理啊

@alsotang 好的,一定好好研究,初学者。。。

这跟nginx有关系? 你的ping都还没到nginx这个层面

ping -->domain–>nginx–>node ping中显示的ip为解析domain的地址即nginx的地址,因为你访问的是nginx 与后面被反向代理的服务器无关

@xujun52011 我是菜鸟,不好意思。。。

在DNS中domain绑IP,指向nginx 地址。nginx做server { } host绑定,分发给upstream的node,至于node express是否hostname绑定,这个就看你应用随意了。

反向代理的作用实际上是应用层的一种负载均衡机制了,而DNS在查询域名对应的IP的时候是不会到你的应用层的。

ping 得到的ip 应该是来自于域名解析输入的ip(CDN加速除外)

@zacard-orc 非常感谢,你解释的很清晰到位

@ringtail 谢谢你的回复!我也是正在学习中,献丑了

回到顶部