当前位置: 首页 > news >正文

【.net core】yisha框架使用nginx代理swagger接口无法访问问题

 后端代码配置

#在StartUp.cs文件中Configure方法中增加以下代码
app.UseSwagger(c =>{//代理路径访问c.PreSerializeFilters.Add((doc, item) =>{//根据代理服务器提供的协议、地址和路由,生成api文档服务地址doc.Servers = new List<OpenApiServer>{
new OpenApiServer{//此处等同于设置接口访问路径前缀//以192.168.1.33:5001/User/Login接口为例,以下代码生成内容为//http://192.168.1.33:50001/oaapi/User/Login//item.Scheme表示协议类型//item.Host.Value表示IP地址/域名//item.Headers["X-Forwarded-Port"]为nginx中配置的proxy_set_header X-Forwarded-Port $server_port内容//item.Headers["X-Forwarded-Prefix"]为nginx中配置的proxy_set_header X-Forwarded-Prefix oaapi内容//如果nginx配置的请求头中存在X-Forwarded-Port,则增加X-Forwarded-Port端口内容,否则则不增加//如果nginx配置的请求头中存在X-Forwarded-Prefix,则增加X-Forwarded-Prefix虚拟路径内容,否则则不增加Url = @$"{item.Scheme}://{item.Host.Value}{(string.IsNullOrEmpty(item.Headers["X-Forwarded-Port"].ToString() ) ? "":":" + item.Headers["X-Forwarded-Port"])}{ (string.IsNullOrEmpty(item.Headers["X-Forwarded-Prefix"].ToString()) ? "" : "/" + item.Headers["X-Forwarded-Prefix"])}"}};});//固定路径访问//c.RouteTemplate = "api-doc/{documentName}/swagger.json";});app.UseSwaggerUI(c =>{//代理路径访问c.ShowExtensions();c.ValidatorUrl(null);//GlobalContext.SystemConfig.VirtualDirectory为appsettings中设置的VirtualDirectory内容,如无代理则设置改字段为空c.SwaggerEndpoint($"{GlobalContext.SystemConfig.VirtualDirectory}/swagger/{"v1"}/swagger.json", "和田玖信OA办公系统 Api v1");c.RoutePrefix = string.Empty;c.DocExpansion(DocExpansion.None);//固定路径访问//c.RoutePrefix = "api-doc";//c.SwaggerEndpoint("swagger/v1/swagger.json", "和田玖信OA办公系统 Api v1");});

Nginx配置 

#nginx代理设置
server {listen       50001;#代理后访问端口server_name  192.168.1.33;#服务器地址(IP/域名)location /oaapi/ {proxy_pass http://192.168.1.33:5001/;#需要代理的地址#配置代理header(请求头)内容proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection keep-alive;proxy_set_header Host $host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Port $server_port;proxy_cache_bypass $http_upgrade;proxy_set_header X-Forwarded-Prefix oaapi;     #------其中oaapi可以更换任何路由,即为代理路径内容proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;}}

http://www.lryc.cn/news/172600.html

相关文章:

  • uniapp录音功能和音频播放功能制作
  • 服务器数据恢复-LINUX操作系统下各文件系统误删除/格式化数据的恢复方案
  • python/C++二分查找库函数(lower_bound() 、upper_bound,bisect_left,bisect_right)
  • 爬虫 — App 爬虫(二)
  • 汽车电子相关术语
  • Python 找出最大数
  • Spring Security 用了那么久,你对它有整体把控吗?
  • vue+minio实现文件上传操作
  • 使用JavaScript实现无限滚动的方法
  • html学习综合案例1
  • 神经节苷脂抗体——博迈伦
  • 【Unity】简单的深度虚化shader
  • 启动 React APP 后经历了哪些过程
  • 带自动采集小说网站源码 小说听书网站源码 小说网站源码 带教程
  • MySQL学习笔记2
  • 【python爬虫】—星巴克产品
  • 算法 矩阵最长递增路径-(递归回溯+动态规划)
  • 四、数学建模之图与网络模型
  • php在header增加key,sign,timestamp,实现鉴权
  • Spring实例化源码解析之ConfigurationClassParser(三)
  • 在 Substance Painter中实现Unity Standard Shader
  • 第二证券:个人开证券账户要开户费吗?
  • 大厂面试-16道面试题
  • 搭建GraphQL服务
  • 数据仓库介绍及应用场景
  • 代码随想录算法训练营Day56 | 动态规划(16/17) LeetCode 583. 两个字符串的删除操作 72. 编辑距离
  • HTML+CSS+JavaScript 大学生网页设计制作作业实例代码 200套静态响应式前端网页模板(全网最全,建议收藏)
  • CFimagehost私人图床本地部署结合cpolar内网穿透实现公网访问
  • uniapp瀑布流布局写法
  • 蓝桥杯 题库 简单 每日十题 day8