Nginx /未找到swagger ui/index.html

Nginx /未找到swagger ui/index.html,nginx,jhipster,Nginx,Jhipster,下面我将在centos 7(带docker)中设置独立的前端和后端,使用nginx托管我的前端、我的网站以及所有/api/。。。。然而,当我想检查由swagger提供服务的RESTful API时,请求起作用了,得到了一个404错误,fiddler说: not found /swagger-ui/index.html 我在主机上打开8080,浏览swagger ui文件夹,index.html就在那里。所有www文件夹都被授予755权限 nginx site.conf如下所示: server

下面我将在centos 7(带docker)中设置独立的前端和后端,使用nginx托管我的前端、我的网站以及所有/api/。。。。然而,当我想检查由swagger提供服务的RESTful API时,请求起作用了,得到了一个404错误,fiddler说:

not found /swagger-ui/index.html
我在主机上打开8080,浏览swagger ui文件夹,index.html就在那里。所有www文件夹都被授予755权限

nginx site.conf如下所示:

server {
    listen 80;
    index index.html;
    server_name localhost;
    error_log  /var/log/nginx/error.log;

    location / {
        root /usr/share/nginx/html;
    }
    location /api {
        proxy_pass http://www.example.com:8080/api;
    }
    location /management {
        proxy_pass http://www.example.com:8080/management;
    }
    location /v2 {
       proxy_pass http://www.example.com:8080/v2;
    }
    location /swagger-ui {
        proxy_pass http://www.example.com:8080/swagger-ui;
    }
    location /swagger-resources {
        proxy_pass http://www.example.com:8080/swagger-resources;
    }
}
怎么了

===========================================更新 发行后:

sudo docker logs -f -t --tail 100 docker_nginx_1
在日志文件中发现一些错误:

2018-07-14T17:35:40.904857522Z 187.67.50.246 - - [14/Jul/2018:17:35:40 +0000] "GET /cgi/common.cgi HTTP/1.1" 404 169 "-" "Wget(linux)" "-"
2018-07-14T17:35:40.904920067Z 2018/07/14 17:35:40 [error] 5#5: *23 open() "/usr/share/nginx/html/cgi/common.cgi" failed (2: No such file or directory), client:187.67.50.246, server: localhost, request: "GET /cgi/common.cgi HTTP/1.1", host: "39.107.246.223"
2018-07-14T17:35:43.896984659Z 187.67.50.246 - - [14/Jul/2018:17:35:43 +0000] "GET /stssys.htm HTTP/1.1" 404 169 "-" "Wget(linux)" "-"

在我发表评论之后,它就可以工作了:

location /swagger-ui {
    proxy_pass http://www.example.com:8080/swagger-ui;
}

我以为Swigger ui是由nginx提供的,而不是后端。

只是在/var/log/nginx文件夹中找不到error.log文件,在/var/lib/docker/中,找到了一个xxx-json.log,上面写着:{“log”:“221.217.121.209---[14/Jul/2018:12:42:58+0000]”GET/Swigger ui/index.html HTTP/1.1\“404 1302\”\“\”Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/67.0.3396.99 Safari/537.36\“\”-\“\n”,“stream”:“stdout”,“time”:“2018-07-14T12:42:58.177129055Z”}看起来并没有启用调试模式。您是否尝试过注释所有其他位置并仅保留/swagger ui和/swagger资源?您也可以尝试添加一个尾随的
/
怀疑是nginx配置相关的问题,docker组装后,文件夹/var/log/nginx和/usr/share/nginx不存在,我创建了这两个文件夹,nginx docker不能自动创建这样的文件夹吗?还是我错过了什么?