不懂就问,有关 nginx 和 hosts 的问题

2021-05-26 19:32:00 +08:00
 Huozy

nginx 配置如下

server {
      listen       9005;
      server_name  192.168.1.1;
      location /135app/ {
          proxy_pass http://test135:8060;
      }
      location /246app/ {
          proxy_pass http://test246:8060;
      }
}

hosts 配置如下

10.10.1.2	test135
10.10.1.3	test135
10.10.2.5	test246

问题 1:10.10.1.2 失效不通的时候,nginx 是否会自动请求到 10.10.1.3 ? 不会的话,怎么配置 nginx 可以做到动态的解析域名?

问题 2:我实质是想通过域名和 DNS 去访问,若问题 1 无法解决的话,我在 resolv.conf 中添加 dns 地址后,nginx 配置需要做更改吗?

1642 次点击
所在节点    NGINX
5 条回复
ik
2021-05-26 19:50:26 +08:00
问题 1 upstream
问题 2 只要访问的 server_name 没变,配置就不用调整
justest123
2021-05-26 19:58:50 +08:00
回答下问题 1 (不一定都对,欢迎打脸),因为你这是配本机的 hosts,单次请求时应该是不会自动把失败的请求再转发到 10.10.1.3 去的,非 plus 版本的 Nginx 的动态解析域名需要用到 Nginx 的 resolver 配置以及域名服务器,可以参考[官方文档]( https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver)中的介绍。

另外还有个思路是用 upstream,这种应该更适合 10.10.1.2 失效后还能恢复的情况,配置大概是:

```
upstream test135 {
least_conn;
server 10.10.1.2:8060 max_fails=3 fail_timeout=5s;
server 10.10.1.3:8060 max_fails=3 fail_timeout=5s;
}
```
akira
2021-05-26 21:54:10 +08:00
域名解析你应该是用专门的域名解析服务来完成。

需要尝试多个后端做负载均衡的话,可以用 upstream,应该能满足你的需求了
Huozy
2021-05-26 22:29:24 +08:00
@ik #1 好的 感谢 我尝试下
Huozy
2021-05-26 22:29:38 +08:00
@justest123 #2 谢谢~ 我尝试下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/779409

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX