在nginx中创建代理

在nginx中创建代理,nginx,proxy,Nginx,Proxy,我正在尝试创建一个代理,它将www.example.com/api/…重定向到 https://0.0.0.0:8443/api/ 我试过这个: server { server_name example.com www.example.com; listen 443 ssl http2 default_server; add_header Strict-Transport-Security "ma

我正在尝试创建一个代理,它将
www.example.com/api/…
重定向到
https://0.0.0.0:8443/api/
我试过这个:

server {
        server_name         example.com www.example.com;
        listen 443          ssl http2 default_server;
        add_header          Strict-Transport-Security "max-age=31536000" always;

        ssl_certificate     /etc/nginx/ssl/ssl-bundle.crt;
        ssl_certificate_key /etc/nginx/ssl/example_com.key;

        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;

        error_page 404 = @foobar;

        location @foobar {
           rewrite  .*  / permanent;
        }

        location /api/ {
            proxy_pass https://0.0.0.0:8443/api/;
        }

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

nginx的结果是
502坏网关
非常感谢您的帮助。

502坏网关表示您代理的目标服务器没有响应,或者响应时出错

查看您的位置块:

    location /api/ {
        proxy_pass https://0.0.0.0:8443/api/;
    }
proxy_pass将传递完整路径名,因此如果用户访问,它将被代理到。请注意/api/的加倍。尝试将您的代理\u密码更改为:

proxy_pass https://0.0.0.0:8443/
…你就不会有这个问题了。这可能是导致后端向nginx返回错误的错误


如果这不起作用,您必须检查后端日志以了解更多信息。

502坏网关表示您代理的目标服务器没有响应,或者响应时出错

查看您的位置块:

    location /api/ {
        proxy_pass https://0.0.0.0:8443/api/;
    }
proxy_pass将传递完整路径名,因此如果用户访问,它将被代理到。请注意/api/的加倍。尝试将您的代理\u密码更改为:

proxy_pass https://0.0.0.0:8443/
…你就不会有这个问题了。这可能是导致后端向nginx返回错误的错误


如果这不起作用,您必须查看后端日志以了解更多信息。

谢谢您的建议,但问题仍然存在。当我尝试到达
https://0.0.0.0:8443/api/news/list
,一切正常,但当我尝试访问
www.example.com/api/news/list
时,它返回相同的问题。感谢您的建议,但问题仍然存在。当我尝试到达
https://0.0.0.0:8443/api/news/list
,一切正常,但当我尝试访问
www.example.com/api/news/list
时,它返回相同的问题。