nacos-group / r-nacos

Nacos server re-implemented in Rust.
https://r-nacos.github.io/docs/
Apache License 2.0
809 stars 85 forks source link

nginx服务器配置 #42

Closed prlei closed 6 months ago

prlei commented 6 months ago

操作系统:AlmaLinux8 我尝试了开放10848端口,可以正常访问控制台 但是我放到nginx中,怎么配置都不行,提示:

image

// 这个看起来302失败 ?看下面的端口7890,是内部跳转么,我看服务器没有这个端口的信息。 //开放端口时,我看应该是302到了 http://127.0.0.1:18848/p/login...... 这个url,不知道是否有什么影响

image

我的nginx正常配置: location /rnacos { proxy_pass http://127.0.0.1:18848; } 求指导。

heqingpan commented 6 months ago

这个应该是nginx配置的问题。 我晚上下班回去后,提供一个可用的配置出来。

prlei commented 6 months ago

非常感谢,辛苦······ 另:rust的轻量级 ci/cd ,有推荐吗?类似jenkins那种。

heqingpan commented 6 months ago

@prlei

1、 r-nacos 的302跳转需要把请求的Host传给r-nacos 服务。在 proxy_pass 前加上proxy_set_header Host $proxy_host; 使其能传递浏览器请求的 Host。 2、r-nacos的控制台使用绝对路径跳转,所以需要从根目录location /转发。 如果同一个端口号和现有服务的路径有冲突,可以使用二级域名(有可能需要调整DNS解析)。

按上面的逻辑 r-nacos 控制台的 nginx 配置如下:

server {
    listen       80;

    #  xxx.com 表示用户当前的域名,r-nacos.xxx.com表示对应的二级域名。
    server_name  r-nacos.xxx.com; 

    location / {
        proxy_set_header Host $proxy_host;
        proxy_pass  http://127.0.0.1:10848;
    }
}

对rust的轻量级 ci/cd,这块目前我也不了解。

prlei commented 6 months ago

感谢回答,不过

  1. 真不想用二级域名处理
  2. jenkins也是根路径,但是日常配置成类似这样,就可以访问 location /jenkins { proxy_pass http://127.0.0.1:8080; }

    就是说 要配置成 http://127.0.0.1/rnacos. 这种形式,目前是不支持是吧?

heqingpan commented 6 months ago

目前不支持这种二级目录转发方式。

收到你的这类需求,后面考虑把控制台前后端路径放到二级目录或者支持配置相对路径,以支持这类需求。