From 383057b5b4b195f3b59c5a1d125aaf0fa5b7d106 Mon Sep 17 00:00:00 2001 From: Shawn Date: Sun, 17 Nov 2024 19:54:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=EF=BC=9A=E5=85=B6=E4=B8=AD?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=92=8C=20Nginx=20=E4=B9=8B?= =?UTF-8?q?=E9=97=B4=E4=BD=BF=E7=94=A8=20https=20=E5=8D=8F=E8=AE=AE?= =?UTF-8?q?=EF=BC=8C=E4=BD=86=20Nginx=20=E4=B8=8E=20IIS=20=E4=B9=8B?= =?UTF-8?q?=E9=97=B4=E4=BD=BF=E7=94=A8=20http=20=E5=8D=8F=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/Extensions/SwaggerExtension.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs b/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs index ce97d989..d535b1b7 100644 --- a/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs +++ b/ZR.Admin.WebApi/Extensions/SwaggerExtension.cs @@ -19,7 +19,15 @@ namespace ZR.Admin.WebApi.Extensions c.RouteTemplate = "swagger/{documentName}/swagger.json"; c.PreSerializeFilters.Add((swaggerDoc, httpReq) => { - var url = $"{httpReq.Scheme}://{httpReq.Host.Value}"; + // 先获取请求的协议,如果是反向代理环境,优先使用 X-Forwarded-Proto 头部 + var scheme = httpReq.Headers["X-Forwarded-Proto"].ToString(); + if (string.IsNullOrEmpty(scheme)) + { + scheme = httpReq.Scheme; // 如果 X-Forwarded-Proto 不存在,使用实际的请求协议 + } + + var url = $"{scheme}://{httpReq.Host.Value}"; + var referer = httpReq.Headers["Referer"].ToString(); if (referer.Contains(GlobalConstant.DevApiProxy)) url = referer[..(referer.IndexOf(GlobalConstant.DevApiProxy, StringComparison.InvariantCulture) + GlobalConstant.DevApiProxy.Length - 1)]; -- Gitee