JDG*_*JDG 5 r nginx swagger plumber
背景
我有一个远程服务器,通过 Plumber 在该服务器上运行 R API 服务。从我可以从外部调用我的服务的意义上来说,它是完全可操作的。
我正在使用 Ubuntu/Nginx 反向代理设置。Plumber 服务正在侦听端口 1163。我随后实现了以下 Nginx 重新路由,以便 API 侦听https://server.net/API/:
location /API/ {
proxy_pass http://localhost:1163/;
proxy_redirect http://localhost:1163/ $scheme://$host/;
}
Run Code Online (Sandbox Code Playgroud)
这工作正常。现在,默认情况下,Swagger UI 会监听
http://127.0.0.1:1163/__swagger__/
Run Code Online (Sandbox Code Playgroud)
由于上面的配置,这意味着我可以成功访问 Swagger UI
https://server.net/API/__swagger__/
Run Code Online (Sandbox Code Playgroud)
问题
我想配置 Nginx 以便 Swagger UI 监听https://server.net/API/documentation/。我尝试了以下嵌套 Nginx 配置:
location /API/ {
proxy_pass http://localhost:1163/;
proxy_redirect http://localhost:1163/ $scheme://$host/;
location /API/documentation/ {
proxy_pass http://localhost:1163/__swagger__/;
proxy_redirect http://localhost:1163/__swagger__/ $scheme://$host/;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在浏览器中输入所需的 URL https://server.net/API/documentation/时,我检索 Swagger 界面,但它返回以下错误代码:
显然,Nginx 重定向期间解析了错误的 swagger URL。考虑到 url 应该说明这一点,这一点很清楚
https://server.net/API/swagger.json?schemes=https&host=server.net&path=/API/
Run Code Online (Sandbox Code Playgroud)
代替
http://petstore.swagger.io/v2/swagger.json
Run Code Online (Sandbox Code Playgroud)
如何确保在 Nginx 重定向期间将正确的 URL 解析到 Swagger UI?祝一切顺利,J.
| 归档时间: |
|
| 查看次数: |
1390 次 |
| 最近记录: |