.Net Core API 项目部署 页面适配 Nginx 二级目录 Swagger无法访问

问题:Linux系统发布.Net Core5.0 API程序,使用Nginx做二级目录代理出现swagger.json404

Ngix 配置

Nginx 监听80端口,二级目录设为 BlogAPI,Asp.Net Core 程序实际访问地址为 http://www.xxx.com:5006/。

server
{
    listen 80;
	listen 443 ssl http2;
    server_name www.xxx.com;
    index index.php index.html index.htm default.php default.htm default.html;
    
    ssl_certificate    /www/server/panel/vhost/cert/xxx.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/xxx.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;
    
    location / {
        root /www/wwwroot/Blog/web;
        proxy_pass https://127.0.0.1:5005;
        
    }
    location /BlogAPI/ {
        root /www/wwwroot/Blog;
        proxy_pass https://127.0.0.1:5006/;
        proxy_set_header X-Request-Uri $request_uri;
    }
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
	access_log  /www/wwwlogs/ninebaby.cn.log;
    error_log  /www/wwwlogs/ninebaby.cn.error.log;
}

打开swagger页面时,会提示找不到​​/swagger/v1/swagger.json​
在这里插入图片描述

解决方法

Nginx 转发请求时,是知道原始请求地址的,我们只需要将原始请求地址告诉 swagger,由 swagger 来分析出二级目录即可&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值