当前位置: 首页 > 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;}}

相关文章:

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

后端代码配置 #在StartUp.cs文件中Configure方法中增加以下代码 app.UseSwagger(c >{//代理路径访问c.PreSerializeFilters.Add((doc, item) >{//根据代理服务器提供的协议、地址和路由&#xff0c;生成api文档服务地址doc.Servers new List<OpenApiServer>{ new…...

uniapp录音功能和音频播放功能制作

录音功能 在 UniApp 中&#xff0c;你可以使用 uni.getRecorderManager() 方法来创建一个录音管理器实例&#xff0c;从而实现录音功能。 以下是一个示例&#xff0c;演示了如何在 UniApp 中使用 uni.getRecorderManager() 实现录音功能&#xff1a; // 在需要录音的页面或组…...

服务器数据恢复-LINUX操作系统下各文件系统误删除/格式化数据的恢复方案

服务器数据恢复环境&#xff1a; 基于EXT2/EXT3/EXT4/Reiserfs/Xfs文件系统的Linux操作系统。 服务器故障&#xff1a; LINUX操作系统下误删除/格式化数据。 服务器数据恢复过程&#xff1a; 1、首先会检测服务器是否存在硬件故障&#xff0c;如果检测出硬件故障&#xff0c;交…...

python/C++二分查找库函数(lower_bound() 、upper_bound,bisect_left,bisect_right)

二分查找是一种经典的搜索算法&#xff0c;广泛应用于有序数据集中。它允许在大型数据集中高效地查找目标元素&#xff0c;减少了搜索的时间复杂度。本文将介绍在 C 和 Python 中内置的二分查找函数&#xff0c;让二分查找变得更加容易。 c lower_bound() 、upper_bound 定义…...

爬虫 — App 爬虫(二)

目录 一、Appium介绍二、node.js 安装三、Java 的 SDK 安装以及配置1、安装步骤2、配置环境变量 四、安卓环境的配置1、配置环境变量 五、Appium 安装1、安装2、打开 APP3、使用 六、Appium 使用1、定位数据&#xff08;方法一&#xff0c;不常用&#xff09;2、定位数据&#…...

汽车电子相关术语

SOA SOA&#xff08;Service-Oriented Architecture&#xff0c;面向服务的架构&#xff09;是一种在计算机环境中设计、开发、部署和管理离散模型的方法。是由Garnter1996年提出的概念&#xff0c;将应用程序的不同功能单元&#xff08;称为服务&#xff09;进行拆分&#xf…...

Python 找出最大数

"""在输入的三个数中找出最大知识点&#xff1a;1、条件嵌套语句if/else2.字符串分割函数split()3、列表元素索引4、数据类型转换举一反三&#xff1a;1、如何控制只能输入三个数&#xff0c;否则重新输入2、如何避免输入无效字母"""# 定义一个变…...

Spring Security 用了那么久,你对它有整体把控吗?

文章目录 1.Servlet Filter&#xff1a;守门人的角色2.DelegatingFilterProxy&#xff1a;桥接 Servlet 和 Spring 的神器3.FilterChainProxy&#xff1a;Spring Security 过滤器链的管家3.SecurityFilterChain&#xff1a;Security 过滤器的串绳4.Spring Security 中的过滤器机…...

vue+minio实现文件上传操作

vueminio实现文件上传操作 minio文件上传vueminio实现文件上传操作 minio文件上传 minio文件上传有两种方法&#xff1a; 第一种是通过ak&#xff0c;sk&#xff0c;调用minio的sdk putObject进行文件上传&#xff1b;该方法支持go&#xff0c;java&#xff0c;js等各种语言&…...

使用JavaScript实现无限滚动的方法

前言 在网页设计中&#xff0c;无限滚动是一种常见的交互方式&#xff0c;用户可持续地加载更多内容而无需刷新页面&#xff0c;提高用户体验。本文将介绍如何运用JavaScript实现无限滚动的效果&#xff0c;使网页能够自动加载更多数据&#xff0c;减轻用户加载新页的负担&…...

html学习综合案例1

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>个人简介</title> </head> <body>…...

神经节苷脂抗体——博迈伦

神经节苷脂抗体是指人体免疫系统中产生的一类抗体&#xff0c;其主要作用是攻击神经节苷脂抗原物质。神经节苷脂是一种存在于神经细胞表面的重要分子&#xff0c;参与了神经细胞间的信号传导和细胞黏附等重要功能。正常情况下&#xff0c;人体免疫系统不会对神经节苷脂产生抗体…...

【Unity】简单的深度虚化shader

【Unity】简单的深度虚化shader 实现效果 可以用于对地图场景边界的白模处理 实现方法 1.关键方法 UnityObjectToClipPos&#xff1a;将物体坐标转换为屏幕坐标 LinearEyeDepth&#xff1a;将屏幕坐标中的z值转换为实际的深度值 saturate&#xff1a;将值规范到0~1之间&a…...

启动 React APP 后经历了哪些过程

本文作者为 360 奇舞团前端开发工程师 前言 本文中使用的React版本为18&#xff0c;在摘取代码的过程中删减了部分代码&#xff0c;具体以源代码为准。 在React 18里&#xff0c;通过ReactDOM.createRoot创建根节点。并且通过调用原型链上的render来渲染。 本文主要是从以下两个…...

带自动采集小说网站源码 小说听书网站源码 小说网站源码 带教程

PTCMS可听书可下载的小说站源码 带自动采集和搭建视频教程 必装环境&#xff1a;Nginx(apache.iis也可)&#xff0c;mysql,php5.6,memcached php5.6安装扩展memcache新建站点&#xff0c;注意新建时&#xff0c;PHP版本必须选择PHP5.6 安装教程 1.上传网站文件到网站目录&…...

MySQL学习笔记2

MySQL glibc版本安装&#xff1a; 下载相应的安装包。 学会查看mysql的官方文档&#xff1a; 1&#xff09; 2&#xff09;点击“Reference Manual”按钮&#xff1a; 3&#xff09;选择5.7版本&#xff1a; 4&#xff09;点击Installing MySQL on Unix/Linux Using Generic …...

【python爬虫】—星巴克产品

文章目录 需求爬取星巴克产品以及图片&#xff0c;星巴克菜单 python爬虫爬取结果 需求 爬取星巴克产品以及图片&#xff0c;星巴克菜单 网页分析&#xff1a; 首先&#xff0c;需要分析星巴克官方网站的结构&#xff0c;了解菜单栏的位置、布局以及菜单项的标签或类名等信息…...

算法 矩阵最长递增路径-(递归回溯+动态规划)

牛客网: BM61 求矩阵的最长递增路径 解题思路: 1. 遍历二维矩阵每个位置&#xff0c;max求出所有位置分别为终点时的最长路径 2. 求某个位置为终点的最长路径时&#xff0c;使用动态规划dp对已经计算出的位置进行记录 3. 处理某个位置的最长路径时&#xff0c;如果dp[i][j]位…...

四、数学建模之图与网络模型

1.定义 2.例题及软件代码求解 一、定义 1.图和网络是相关概念 &#xff08;1&#xff09;图&#xff08;Graph&#xff09;&#xff1a;图是数学和计算机科学中的一个抽象概念&#xff0c;它由一组节点&#xff08;顶点&#xff09;和连接这些节点的边组成。图可以是有向的&…...

php在header增加key,sign,timestamp,实现鉴权

在PHP中&#xff0c;您可以通过在HTTP请求的Header中增加Key、Sign和Timestamp等信息来进行安全性鉴权。 以下是一种基本的思路和示例&#xff0c;用于说明如何实现这种鉴权机制&#xff1a; 生成Key和Sign&#xff1a; 服务端和客户端之间共享一个密钥&#xff08;Key&#x…...

5个超实用网络转发技巧:用socat-windows解决90%的连接难题

5个超实用网络转发技巧&#xff1a;用socat-windows解决90%的连接难题 【免费下载链接】socat-windows unofficial windows build of socat http://www.dest-unreach.org/socat/ 项目地址: https://gitcode.com/gh_mirrors/so/socat-windows 在现代网络架构中&#xff0…...

LeetCode 238. Product of Array Except Self 题解

LeetCode 238. Product of Array Except Self 题解 题目描述 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整…...

Font-Awesome-SVG-PNG 核心原理:深入解析SVG到PNG的转换机制

Font-Awesome-SVG-PNG 核心原理&#xff1a;深入解析SVG到PNG的转换机制 【免费下载链接】Font-Awesome-SVG-PNG Font Awesome split to individual SVG and PNG files of different sizes along with Node.JS based generator 项目地址: https://gitcode.com/gh_mirrors/fo/…...

Aspen Plus模拟电解质水脱酸:一场化工模拟的奇妙之旅

Aspen Plus模拟电解质水脱酸Aspen 化工过程模拟→电解质水脱酸模拟在温度为 8C、压力为 1 atm、质量流量为 5000 kg/h 的条件下&#xff0c;含有 0.20 wt% CO2、0.15 wt% H2S 和 0.1 wt% NH3 的酸性水流将通过 1.1 atm、质量流量为 1500 kg/h 的干蒸汽进行处理。在化工领域&…...

【开题答辩全过程】以 基于Java的影视设备维修评估系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…...

【已验证】基于STM32和HAL库的大夏龙雀BT311-10C02S蓝牙模块驱动

最近买了一个大夏龙雀家的蓝牙模块DX-BT311-10C02S&#xff0c;这个蓝牙是一款基于BLE 5.4规范的串口透传模块&#xff0c;支持AT指令配置、主从模式切换&#xff0c;非常适合与单片机搭配实现无线数据传输。如果是第一次买还是很便宜的&#xff0c;他家的模块有一说一是真的不…...

VScode+SFTP插件保姆级配置教程:2025年最新远程同步方案(附常见错误排查)

VScodeSFTP插件2025终极配置指南&#xff1a;从零搭建高效远程开发环境 每次在咖啡厅修改完代码&#xff0c;却发现服务器上的版本还停留在上周&#xff1f;团队协作时总有人忘记同步最新文件&#xff1f;2025年的远程开发早已不是简单的文件传输&#xff0c;而是无缝衔接的云端…...

Scoop国内镜像加速全攻略:从安装失败到高效下载的完整解决方案

1. Scoop安装失败的常见原因分析 第一次接触Scoop的Windows用户&#xff0c;90%都会在安装阶段卡壳。我刚开始用的时候也踩过不少坑&#xff0c;后来帮团队部署开发环境时更是见识了各种奇葩错误。总结下来主要有三类典型问题&#xff1a; 网络连接问题是最常见的拦路虎。由于S…...

【PolarCTF2026年春季挑战赛】GET

直接上传一个php试试文件名后缀双写可以绕过可以解析&#xff0c;我们上传一句话木马提示出现了$_POST[cmd]那么用下面的webshell&#xff0c;避免POST和cmd一起出现<?php $x $_POST; eval($x[cmd]); ?>上传成功&#xff0c;访问一下得到flag{73121d2832f501293a2e661…...

代码重构美学

代码重构美学大赛技术文章大纲大赛背景与意义代码重构的定义及其在软件开发中的重要性美学在代码重构中的体现&#xff1a;可读性、简洁性、可维护性大赛的宗旨&#xff1a;推动高质量代码实践&#xff0c;提升开发者审美与工程能力参赛作品评审标准功能性&#xff1a;重构后代…...