添加Nginx反向代理之后仪表盘页面报错

Viewed 263

Nginx反向代理配置:

    location / {
        include /etc/nginx/naxsi_hsp.rules;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_connect_timeout 60;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        proxy_pass  http://192.xx.xx.xx:17000;
    }
    location ^~ /api/n9e {
        include /etc/nginx/naxsi_hsp.rules;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_connect_timeout 60;
        proxy_read_timeout 600;
        proxy_send_timeout 600;
        proxy_pass  http://192.xx.xx.xx:17000/api/n9e;

使用反向代理地址查看监控大盘:
image.png
image.png
前端页面报错:
Unexpected token '<', "<!-- ~ C"... is not valid JSON

感觉像是定义的变量抛出的异常:
image.png

直接使用目标服务器地址访问没有任何问题:
image.png

3 Answers

问题已经找到,原因是因为nginx上配置了naxsi拦截,去掉拦截配置就可以了。

可以参考一下我们的前端同学的nginx配置,他们自己做开发的时候是前后端分离的,nginx配置在https://github.com/n9e/fe的README里

readme里nginx配置的支持v5吗

这样貌似不太行,我是直接使用docker-compose部署的:

[root@xxx nightingale]# docker-compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
ibex                "sh -c '/wait && /ap…"   ibex                running             0.0.0.0:10090->10090/tcp, 0.0.0.0:20090->20090/tcp
n9e                 "sh -c '/wait && /ap…"   n9e                 running             0.0.0.0:17000->17000/tcp
prometheus          "/bin/prometheus --c…"   prometheus          running             0.0.0.0:9090->9090/tcp
redis               "docker-entrypoint.s…"   redis               running             0.0.0.0:6379->6379/tcp

你这是v5 还是v6? 上边报错,能看下是哪个接口返回的么?

前端版本:6.0.0-ga.4.1
后端版本:v6.0.0-ga.4.1-1b40c38a7a1c61254dcd8db5637ba9f618e76923

接口我看状态码都是200,没有看到报错接口