当前位置: 首页 > 知识库问答 >
问题:

在连接到上游客户端时不加载上游流

史劲
2023-03-14

我在我的本地网络上用两个docker apache实例设置了一个负载均衡器。我确认的两个节点都已启动,可以在单独的端口8081和8082上查看,但是当在apache中尝试使用上游时,我得到了502坏网关错误。

我已经尝试将/etc/nginx目录的权限更改为nginx用户。我已经尝试重新启动apache实例和nginx服务。当我将server_name更改为localhost而不是服务器主机的ip地址时,我可以从本地网络上的另一台机器在web浏览器上看到默认的nginx服务器页面。如果我把它改回IP地址,我会得到坏的网关错误。

我已将Default.conf与站点进行了符号链接-可用

    [root@www nginx]# vi sites-enabled/default.conf
    upstream containerapp {
        server 192.168.0.42:8081;
        server 192.168.0.42:8082;
     } 

      server {
        listen *:80;

        server_name localhost;
        index index.html index.htm index.php;

        access_log /var/log/nginx/localweb.log;
        error_log /var/log/nginx/localerr.log;

        location /{
                proxy_pass http://containerapp;
        }
     }
    [root@www nginx]# cat /var/log/nginx/localerr.log
    referrer: "http://192.168.0.42/"
    2019/01/04 20:15:54 [error] 16310#0: *1 no live upstreams while 
    connecting 
    to upstream, client: 192.168.0.18, server: 192.168.0.42, request: 
    "GET / HTTP/1.1", upstream: "http://containerapp/", 
    host:"192.168.0.42"
    2019/01/04 20:15:54 [error] 16310#0: *1 no live upstreams while 
    connecting 
    to upstream, client: 192.168.0.18, server: 192.168.0.42, request: 
    "GET 
    /favicon.ico HTTP/1.1", upstream: "http://containerapp/favicon.ico", 
    host: 
    "192.168.0.42", referrer: "http://192.168.0.42/"

这就是我的nginx.conf的样子

 nginx.conf
        user nginx;
        worker_processes auto;
        error_log /var/log/nginx/error.log;
        pid /run/nginx.pid;

    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;

    events {
        worker_connections 1024;
    }

    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] 
   "$request" '    
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';

        access_log  /var/log/nginx/access.log  main;

        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d 
    directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    #include /etc/nginx/conf.d/*.conf;
    server {
       listen       80 default_server;
       listen       [::]:80 default_server;
       server_name  _;
       root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        #include /etc/nginx/default.d/*.conf;

       location / {
       }

       error_page 404 /404.html;
          location = /40x.html {
       }

       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }
    }

    include /etc/nginx/sites-enabled/*;
    }

我可以点击http://192.168.0.42,它将轮询到http://192.168.0.42:8081或http://192.168.0.42:8082节点

共有1个答案

宓博实
2023-03-14

我发现解决这个问题的方法是selinux相关的。这里还有一个我用这个命令找到的帖子

setsebool-p httpd_can_network_connect1

链接到原始问题,以防将来有人在连接上游时遇到此问题(13:权限被拒绝):[nginx]

 类似资料:
  • 我们部署了一个Express web API,它获得了相当大的但相对较小的流量(平均每秒约10个请求),这些流量运行在通过Nginx代理的EC2 ubuntu服务器上。每隔一段时间,一个请求就会挂起,如果客户端等待的时间足够长,就会将包含以下内容的行输出到NGINX错误日志中: 我已经试过这里建议的解决办法,但似乎没有效果。这只发生在我们的知识大约1-3次每分钟,但我只是离开这些日志。如果客户机在

  • 实习,捕鱼棋牌类项目 # 一面 7/26 21min ## C++ 栈和堆的区别 const int *p 和 int * cont p 的区别 const 对象能调用全部成员函数吗 继承 public private protected 的区别 class struct 怎么计算大小 内存对齐是什么,为什么要内存对齐,内存对齐的规则 小端大端的区别 ## Unity Awake Enable S

  • 问题内容: 我的nginx-error.log文件中出现此错误: 浏览器还显示502错误网关错误。a的输出curl相同,Bad Gateway html 我试图通过将的权限更改为修复它。这没有用。我也将自己加入了小组(几个看起来相似的问题表明了这一点)。另外,没有骰子。 这是我的文件: 我正在用Nginsx和Uwsgi运行Flask应用程序,只是为了解释的透彻。如果有人有任何想法,我将不胜感激。

  • 我知道有很多关于502坏网关的帖子,但是我还没有解决这个问题。我正在使用Docker Comment为Nginx和PHP-FPM创建单独的容器。 错误我得到加载PHP文件在浏览器(超文本标记语言文件渲染罚款): 我已经试着使用Unix套接字等工具调整各种配置好几个小时了,但仍然收到502个PHP文件错误。你能看出什么地方不对劲吗? 这是所有必需的文件。。 多克作曲家。yml: docker/ngi

  • 问题内容: 我正在开发多人游戏,无法找出如何将其他客户端连接到所创建的游戏。我的意思是客户端A创建与服务器的套接字连接,其他客户端(A,B …)如何连接到客户端A?有人可以帮我吗? PS我是网络编程的新手,因此,如果您可以举一些例子,我将不胜感激。 问题答案: 另一个客户端由于其防火墙而无法连接到客户端A。 您可以创建两种主要的网络: 服务器客户端 点对点 但是客户端可以将一些数据保存到服务器,服