回答
收藏
分享
举报
upstream池组配置项
提问于2020-09-17 12:08

浏览 1.1k

文章标签

功能需求:
 1、有两组后端服务AandB,想同时挂在在一个upstream池组里面,eg:
     upstream test_default{
     server serviceA;

     }
    当我的serviceA服务正常的时候,我选用serviceA;当serviceA服务都挂掉以后,我选用serviceB;换句话说,就是我的serviceB是serviceA的一个备,请问下应该如何实现配置,我最终的想法是在k8s内部引用这个,最终的理想配置结果是
     upstream test_default{
     server serviceA;  (备注serviceA是一个服务名称,如果服务名称无法解析的情况下,nginx检测是不通过的,所以当服务名称无法解析的情况下,我想让nginx的检测排除掉这个serviceA的检测,通过我的备用节点过去,不至于nginx挂掉)
     server 127.0.0.1:80;
     }






已修改于2023-03-02 02:09



写下您的回答
发表回答
全部回答(0)

按点赞数排序

按时间排序

提问者
向阳
这家伙很懒还未留下介绍~
0
文章
3
问答
0
粉丝
相关问答

有两种办法:

1、通过proxy_protocol协议

这个协议是在TCP字符流的最前端,添加一串描述真实IP地址的消息。其中,1.0协议是ASCII字符串消息,如果你用tcpdump抓包,很容易看到。2.0是二进制格式,也比较容易分析。

ngx_stream_proxy_module模块的proxy_protocol指令,就是用于设置后端连接的。当然,后端要能够处理这个协议才行。

如果后端也是Nginx,那么可以在listen指令后,添加proxy_protocol选项,也能拿到真实IP。

具体你可以参考我这门课《Nginx核心知识100讲》第113节课(可以免费学4节课):https://time.geekbang.org/course/detail/100020301-76735

2、通过修改IP报文中source ip实现

这种方法需要修改服务器上的网关,比较麻烦,副作用很大,你可以参考我这篇文章中,如何获取UDP中的真实IP地址:https://www.nginx-cn.net/article/76

点赞 0
浏览 3k

试试rtmp模块?https://github.com/arut/nginx-rtmp-module

点赞 0
浏览 752

udp包大小限制与系统有关,NGINX不会限制

点赞 0
浏览 818