nginx 配置问题求解答

6 天前
 gotonull

问题描述:a 服务器的 nginx 服务会将 /aisp/approval/ 路径的请求转发给我,我收到请求后根据user-agent判断是移动端还是 pc 端请求,如果为移动端的,则去当前服务器的/home/centos/web/h5目录下响应对应的静态文件。如果是/aisp/approval/api/路径下的请求则请求后端服务,当前的配置:

server {
        listen 9999;
        server_name localhost;

        location /aisp/approval/ {
            if ($is_mobile = 0) {
                rewrite ^/aisp/approval/(.*)$ https://b.com/$1 permanent;
            }
            alias /home/centos/web/h5/;
            try_files $uri $uri/ /index.html;
        }

        location  /aisp/approval/api/ {
            limit_conn perip 1000;
            proxy_pass http://10.156.166.23:9088/;
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            client_max_body_size 600M;
            client_body_buffer_size 512k;
        }
    }

现在的问题是通过移动端请求a.com/aisp/approval/workOrder/orderHandlerDetails,error.log 会报:

open() "/usr/local/nginx/html/home/centos/supervision/web/h5/index.html" failed (2: No such file or directory)

/usr/local/nginx/html 是我 nginx 的安装目录,我要如何配置才能在请求 a.com/aisp/approval/workOrder/时响应/home/centos/supervision/web/h5/目录下的 index.html

570 次点击
所在节点    NGINX
3 条回复
kingwrcy
6 天前
server {
listen 9999;
server_name localhost;

location /aisp/approval/ {
if ($is_mobile = 0) {
rewrite ^/aisp/approval/(.*)$ https://b.com/$1 permanent;
}
root /home/centos/web/h5; # 使用 root 指令
try_files $uri $uri/ /aisp/approval/index.html; # 确保指向正确的 index.html
}

location /aisp/approval/api/ {
limit_conn perip 1000;
proxy_pass http://10.156.166.23:9088/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
client_max_body_size 600M;
client_body_buffer_size 512k;
}
}
yippee0539
5 天前
啥了,想了半天没看到没有指定 root
楼上 nb
gotonull
5 天前
@kingwrcy 可是用 root 的话,我就必须要在/home/centos/web/h5 目录下建 2 级/aisp/approval 目录才能正确访问到静态资源,我用 alias 就是为了不建这 2 级目录

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1095330

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX