开发者社区> 问答> 正文

Nacos2.1.0增加9849端口来进行GRPC通信,在nginx层面需要额外加配置吗?

我Nginx添加了一个域名监听80端口,转发到nacos集群,image.png 我的客户端配置的注册地址是这个域名image.png 我使用的nacos-sercer版本是2.1.0有新增了GRPC的端口,请问上述配置是否满足GRPC长连接?还是说客户端会获取通过nacos-server返回的真实IP及端口在此基础上进行grpc直连?不通过yml配置的域名进行。

展开
收起
游客l5y3zydmq5o7k 2022-07-08 16:23:54 2250 0
5 条回答
写回答
取消 提交回答
  • 在使用Nacos 2.1.0版本进行GRPC通信时,确实新增了9849端口。这个新加的端口需要在nginx层面添加相应的配置,因为nginx作为反向代理服务器,需要将客户端的请求正确地转发到后端服务器。

    具体来说,您需要在nginx配置中指定相应的端口和路径。这意味着,如果您的nginx服务器负责处理所有进入的请求并将其路由到正确的服务,那么您需要确保这些配置已经正确设置,以便将流量路由到运行在9849端口上的Nacos服务。

    此外,如果您使用的是docker或存在端口转发方式启动,需要把这两个端口进行配置。这可能涉及到修改dockerfile或者更新您的端口转发规则,以确保流量能够正确地到达9849端口。

    还需要注意的是,如果您的环境中有防火墙,可能需要进行额外的配置来开放新的端口。具体的步骤取决于您的防火墙设置,但一般来说,您需要执行一些命令来添加一个开放的端口规则。

    2023-12-08 21:07:05
    赞同 展开评论 打赏
  • 如果存在nginx端口转发问题,需要进行相应的端口暴露配置。如在nginx中,在已经暴露8848(x)的基础上,需要额外暴露9848(x+1000)。

    ——参考链接

    2023-11-30 15:04:34
    赞同 展开评论 打赏
  • 在Nacos 2.1.0中使用9849端口进行GRPC通信,您需要在nginx层面添加相应的配置。这是因为nginx是一个反向代理服务器,它负责将客户端的请求转发到后端服务器。为了将请求路由到正确的后端服务,您需要在nginx配置中指定相应的端口和路径。

    以下是在nginx层面添加配置的步骤:

    打开nginx配置文件。通常,该文件位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf。

    在http块中添加一个新的server块,用于配置Nacos服务器的监听端口和其他相关信息。示例如下:image.png
    请确保将上述示例中的nacos.example.com替换为您的Nacos服务器域名或IP地址,并根据您的实际配置文件路径调整相关引用。

    1. 在上述配置中,我们使用了grpc_pass指令将来自9849端口的请求转发到名为nacos-server的上游服务器。您需要确保该上游服务器地址和端口与您的Nacos服务器地址和端口相匹配。

    在上述配置中,我们还引入了一个名为grpc.conf的GRPC相关配置文件。该文件可能包含与GRPC通信相关的其他配置选项,例如超时设置、SSL证书等。根据您的实际需求,您可能需要在该文件中进行额外的配置。
    保存并关闭nginx配置文件。
    检查nginx配置是否正确:
    nginx -t
    如果没有错误,继续下一步;如果有错误,请检查配置文件并修复错误。

    1. 重新加载nginx配置以使更改生效:
      nginx -s reload
    2023-11-27 10:11:42
    赞同 展开评论 打赏
  • 是的,如果您想在 Nacos 2.1.0 中使用 9849 端口进行 gRPC 通信,您需要在 Nginx 层面添加相应的配置。以下是在 Nginx 上添加配置的步骤:
    1.打开 Nginx 的配置文件。通常情况下,Nginx 的主配置文件位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/default.conf。
    2.在 http 块中添加一个新的 server 块,用于配置监听 9849 端口的服务器。示例配置如下:

    http {  
        ...  
        server {  
            listen 9849;  
            server_name example.com;  # 根据您的需求修改服务器名称  
    
            location / {  
                grpc_pass grpcs://nacos-server:9849;  # 根据您的需求修改 Nacos 服务器地址和端口号  
            }  
        }  
        ...  
    }
    

    在上述配置中,我们创建了一个新的 server 块,监听 9849 端口,并将所有进入该端口的请求通过 grpc_pass 指令转发到指定的 gRPC 服务地址。您需要将 example.com 替换为您的实际服务器名称,并将 nacos-server 替换为您的 Nacos 服务器地址。如果您的 Nacos 服务器运行在本地,可以使用 localhost 或 127.0.0.1。

    3.保存配置文件并退出。
    4.检查 Nginx 配置是否正确:

    nginx -t
    

    5.重新加载 Nginx 配置以使更改生效:

    nginx -s reload
    

    现在,您已经成功地在 Nginx 上添加了配置以监听 9849 端口并将请求转发到指定的 gRPC 服务地址。请确保您的 Nacos 服务器正在运行并侦听正确的端口(在此例中为 9849)。

    2023-11-26 18:55:29
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    Nacos 2.1.0中使用9849端口进行GRPC通信,那么在Nginx层面可能需要额外的配置来支持GRPC长连接。
    通常情况下,Nginx可以通过配置proxy_connect_timeout和proxy_read_timeout参数来控制连接超时时间和读取超时时间,从而支持GRPC长连接。这些参数可以设置为较大的值,例如:

    proxy_connect_timeout 300s;
    proxy_read_timeout 300s;
    CopyCopy

    此外,你还需要确保Nginx配置中的proxy_pass指令指向正确的Nacos Server地址和端口。如果你使用的是Nacos集群,你需要配置多个upstream模块来代理多个Nacos Server。
    至于客户端如何获取Nacos Server的真实IP和端口,这取决于你的GRPC客户端实现。一般来说,GRPC客户端会通过某种方式(例如通过反射或者服务发现)获取服务提供者的地址和端口,并在建立连接时使用这些信息。在Nacos中,你可以通过配置nacos-server.properties文件中的server.addr和server.port参数来指定Nacos Server的地址和端口。

    2023-11-25 22:06:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载