nginx“上游”指令是否有端口设置?

前端之家收集整理的这篇文章主要介绍了nginx“上游”指令是否有端口设置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我使用上游和代理进行负载平衡.

指令proxy_pass http:// upstream_name使用默认端口,即80.

但是,如果上游服务器不在此端口上侦听,则请求失败.

如何指定备用端口?

我的配置:

  1. http{
  2. #...
  3. upstream myups{
  4. server 192.168.1.100:6666;
  5. server 192.168.1.101:9999;
  6. }
  7. #....
  8. server{
  9. listen 81;
  10. #.....
  11. location ~ /myapp {
  12. proxy_pass http://myups:81/;
  13. }
  14. }

Nginx -t:

  1. [warn]: upstream "myups" may not have port 81 in /opt/Nginx/conf/Nginx.conf:78.
最佳答案
在您的上游配置中,您已经定义了端口(6666和9999),这些端口是后端服务器需要监听的端口

在这种情况下,proxy_pass指令不需要额外的端口配置.
您的Nginx侦听您在listen指令中定义的端口81

这是你试图做的吗?

  1. http {
  2. #...
  3. upstream upstream_1{
  4. server 192.168.1.100:6666;
  5. server 192.168.1.101:9999;
  6. }
  7. upstream upstream_2{
  8. server 192.168.1.100:6661; // other backstream port if you use port 81
  9. server 192.168.1.101:9991;
  10. }
  11. server {
  12. listen 80;
  13. #.....
  14. location ~ /myapp {
  15. proxy_pass http://upstream_1;
  16. }
  17. }
  18. server {
  19. listen 81;
  20. #.....
  21. location ~ /myapp {
  22. proxy_pass http://upstream_2;
  23. }
  24. }
  25. }

猜你在找的Nginx相关文章