【问题标题】:Unable to map upstream with folder in nginx server无法使用 nginx 服务器中的文件夹映射上游
【发布时间】:2023-03-09 07:30:01
【问题描述】:

我想将我们的系统端口 82 映射到 127.0.0.1:8080/runningSite 并且我的 nginx 配置出现异常。

upstream dev {
    server 127.0.0.1:8080/runningSite;
}
server {
    rewrite_log on;
    listen [::]:81;
    server_name localhost;

    location / {
        proxy_pass  http://dev;
        proxy_set_header Host $http_host;
    }

}

例外:

nginx: [emerg] invalid host in upstream "127.0.0.1:8080/runningSite" in C:\nginx -1.8.1/conf/nginx.conf:85

谁能帮我解决我的错误。

【问题讨论】:

    标签: nginx nginx-location winginx


    【解决方案1】:

    您将 URI 放在错误的位置。它需要进入 proxy_pass 而不是 upstream 块。

    试试这个:

    upstream dev {
        server 127.0.0.1:8080;
    }
    server {
        rewrite_log on;
        listen [::]:81;
        server_name localhost;
    
        location / {
            proxy_pass  http://dev/runningSite/;
            proxy_set_header  Host $http_host;          
        }
    }
    

    详情请见this document

    【讨论】:

    • 感谢您的回复。但是使用这个我的内部文件将像 runningSite/resources/bootstrap/css/bootstrap.min.css 一样被加载
    • 当有人想将 uri 从 / 重定向到 /dev/blah/blah 时,这是一个很好的答案,但同时您可以使用负载均衡器并在节点之间共享负载。惊人的技巧非常感谢您的提示。例如:upstream dev { least_conn; server 10.0.0.1:8080; server 10.0.0.2:8080; }
    【解决方案2】:

    你可以像这样使用位置

    location / {
          proxy_pass http://ttbth/home;
          proxy_set_header  Host $http_host;
        }
    

    【讨论】:

    • 这是给我这个错误"proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in /etc/nginx/conf.d/default.conf
    猜你喜欢
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多