我最近遇到了一个问题,由于Nginx中的DNScaching,服务受到了负面影响,因为我们在关联的Nginxconfiguration中使用了upstream设置。 我已经回顾了以下问题以及search解决scheme,他们都没有使用upstream : https : //stackoverflow.com/questions/26956979/error-with-ip-and-nginx-as-reverse-proxy 。 由于我们使用AWS ELB,因此我们确定了位于上游的两个相同的服务器值。 相关部分如下所示:
upstream my_server { server blah.domain.com:443; server blah.domain.com:443; } server { listen 1024; access_log /var/log/nginx/my-access-log.log; error_log /var/log/nginx/my-error-log.log; keepalive_timeout 5; client_max_body_size 40M; location /blah { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host blah.domain.com; proxy_redirect off; proxy_pass https://my_server; }
所以我知道我可以使用parsing器并创build一个服务器部分所在的http部分,但是我无法设置一个variables,然后使用Nginx负载均衡器function。 我不能在上游设置一个variables,因为它不被支持(这会强制DNScaching刷新,如下所示: http : //forum.nginx.org/read.php?2,215830,215832#msg- 215832 )。
所以我的问题是如何解决这个问题? 如何维护upstream提供的负载均衡function,同时确保DNScaching刷新,而不必在社区版本的Nginx中重新启动服务?
NGINX Plus提供了所描述的function,NGINX Plus是提供附加function的完整应用交付平台。
您可以阅读NGINX Plus提供的“即时重新configuration ”function,并参阅“dynamic可configuration组”部分的文档以获取有关该特定function的更多信息。
(免责声明:我隶属于NGINX公司 – 开发NGINX两个版本的公司)。