Nginx-反向代理-404

时间:2020-03-18 14:57:10

标签: nginx nginx-reverse-proxy

调用URL-http://10.240.0.133/swagger时收到404错误。以下是nginx.conf文件的代码段,我需要在URI的末尾附加index.html,因此我放置了一个重写规则。

server {
        listen 80;
        listen [::]:80;

                server_name localhost;
        server_name 10.240.0.133;
        server_name 127.0.0.1;

            proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;

        access_log /var/log/nginx/resources-reverse-access.log;
        error_log /var/log/nginx/resources-reverse-error.log;

                location  /swagger {
                    rewrite ^/swagger/index.html break;
            proxy_pass http://52.177.131.103:8082/;
       }

}

当我访问URL时-curl -v http://10.240.0.133/swagger

404被抛出:-

*   Trying 10.240.0.133...
* TCP_NODELAY set
* Connected to 10.240.0.133 (10.240.0.133) port 80 (#0)
> GET /swagger HTTP/1.1
> Host: 10.240.0.133
> User-Agent: curl/7.55.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Server: nginx/1.14.0 (Ubuntu)
< Date: Wed, 18 Mar 2020 14:41:50 GMT
< Content-Length: 0
< Connection: keep-alive
<
* Connection #0 to host 10.240.0.133 left intact

1 个答案:

答案 0 :(得分:0)

我认为您的重写规则不正确。它应该看起来像这样。

  location  /swagger {
    rewrite ^\/swagger\/?.*?$ /swagger/index.html break;
    proxy_pass http://52.177.131.103:8082/;
  }

但是我认为这仍然不正确,因为您没有为此服务器设置root指令。