Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Express 如何将Nginx配置文件写入传递id为([0-9]+;)的URL以执行负载平衡_Express_Nginx_Load Balancing_Reverse Proxy - Fatal编程技术网

Express 如何将Nginx配置文件写入传递id为([0-9]+;)的URL以执行负载平衡

Express 如何将Nginx配置文件写入传递id为([0-9]+;)的URL以执行负载平衡,express,nginx,load-balancing,reverse-proxy,Express,Nginx,Load Balancing,Reverse Proxy,假设我必须去一个URLlocalhost/tag/9,其中9是一个id,那么我需要在里面写什么呢 location /tag/? { } 事实上,我在一个网页中有几个标签(链接),每个标签都有一个与之关联的id。当我点击一个id为9的标签时,它会将我带到localhost/tag/9,然后我得到404个错误。现在我想知道如何将这个URL代理传递到我的实际URL,即localhost:1111/tag/9?我的express应用程序正在端口1111、2222和3333上运行 到目前为止我的co

假设我必须去一个URL
localhost/tag/9
,其中9是一个id,那么我需要在里面写什么呢

location /tag/? {

}
事实上,我在一个网页中有几个标签(链接),每个标签都有一个与之关联的id。当我点击一个id为9的标签时,它会将我带到
localhost/tag/9
,然后我得到404个错误。现在我想知道如何将这个URL代理传递到我的实际URL,即
localhost:1111/tag/9
?我的express应用程序正在端口1111、2222和3333上运行

到目前为止我的conf文件

upstream expressweb {
    server localhost:1111;
    server localhost:2222;
    server localhost:3333;
}
server {

    listen 80;
    location /my_app/ {
        proxy_pass http://expressweb/;
    }
    location /tag/[0-9]+/ {
        proxy_pass http://expressweb/tag/$1/;
    }
}
知道我该怎么做吗

编辑:

我已经试过了

location /tag/1/ {
        proxy_pass http://expressweb/tag/1/;
    }
    location /tag/2/ {
        proxy_pass http://expressweb/tag/2/;
    }
    location /tag/3/ {
        proxy_pass http://expressweb/tag/3/;
    }

以此类推,但仍然不起作用

nginx提供文件,而不是网页中的标签——这可能意味着从多个方面开始

如果您的nginx作为您建议使用的页面引用了位于http://expressweb/tag/9 (您可以通过运行在的主机nginx的curl获得它),您可以简单地通过代理传递。从我的头顶

location /tag { proxy_pass http://expressweb; }
或者如果你真的需要正则表达式

location ~ /tag/([0-9]+) { prxy_pass http://expressweb/tag/$1; }

这里是标签的代理通行证,我指的是链接,点击哪里将带我到
http://expressweb/tag/9
并且有几个ID从1开始到以后的链接。您使用regex编写的链接不起作用。您确定$1将从该regex获得值吗?我之前尝试过,但再次无效,nginx与页面标记无关,这些标记由浏览器处理。nginx提供文件服务。请查看我问题中的编辑。这就是我的困惑所在。我如何代理传递url。我缺少什么!