gpt4 book ai didi

tomcat - Nginx 或应用程序削减部分 URI

转载 作者:行者123 更新时间:2023-11-28 23:28:06 25 4
gpt4 key购买 nike

我有这个代理链:nginx 代理到我的内部 nginx,它代理到 tomcat

主要nginx:

server {
listen 80 default_server;

access_log /var/log/nginx/eco.access.log main;
error_log /var/log/nginx/eco.error.log;
root /usr/share/nginx/html;

location / {
index index.html;
}

location /analytics {
proxy_pass http://10.89.81.130:80/;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE_ADDR $remote_addr;
}

内部 nginx:

    server {
listen 80 default_server;
proxy_intercept_errors on;
error_page 404 = /error404_nx.html;
root /usr/share/nginx/html;

location / {
root /usr/share/nginx/html;
index index.html;
}

location /ords {
rewrite ^\/ords\/f.p(.*)$ /analytics/ords/$1 break;
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE_ADDR $remote_addr;
}

我预计请求将是/analytics/ords/...,但结果/ords/... 没有分析,我收到 404 错误,我做错了什么?

最佳答案

在您的主要 nginx 中使用:

location /analytics/ {
proxy_pass http://10.89.81.130:80/;
...
}

注意附加的 /。这导致 URI 在被内部 nginx 接收之前从 /analytics/ords 别名为 /ords。然后将其作为 /ords 不加修改地传递到端口 8080。

参见 this document了解详情。

关于tomcat - Nginx 或应用程序削减部分 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34405571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com