nginx proxy_传递到所有页面

nginx proxy_传递到所有页面,nginx,reverse-proxy,Nginx,Reverse Proxy,因此,我使用nginx将代理服务器反转到另一台服务器。在我将静态文件链接到该位置之前,它不提供静态文件。位置块非常长,但看起来与下面的代码类似。我确信我这样做是错误的,但它是有效的,只是写所有的路径很乏味。我想知道是否有更好的办法 location / { proxy_pass www.example.com; } location /sytlesheet.css { proxy_pass www.example.com/stylesheet.css; } locat

因此,我使用nginx将代理服务器反转到另一台服务器。在我将静态文件链接到该位置之前,它不提供静态文件。位置块非常长,但看起来与下面的代码类似。我确信我这样做是错误的,但它是有效的,只是写所有的路径很乏味。我想知道是否有更好的办法

location / {
    proxy_pass    www.example.com;
}
location /sytlesheet.css {
    proxy_pass    www.example.com/stylesheet.css;
}
location /page1 {
    proxy_pass    www.example.com/page1;
}
#this goes on and on
是否有一种方法可以让所有内容都通过“/”,例如“page1”,并将其传递给代理,而无需手动键入

我希望有一种方法可以使用一个变量或某种东西将所有页面和资源链接到一个位置块:

location / {
    proxy_pass    www.example.com;
}
location /$variable {
    proxy_pass    www.example.com/$variable;
}

谢谢

您应该使用以下代码

location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to proxy
    try_files $uri $uri/ @proxy;
}

location @proxy {

     proxy_pass    www.example.com;
}

您应该使用以下代码

location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to proxy
    try_files $uri $uri/ @proxy;
}

location @proxy {

     proxy_pass    www.example.com;
}
看看这个

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://www.example.com;
}
看看这个

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://www.example.com;
}

很高兴知道,很高兴知道。