首页 > 解决方案 > 我如何为招摇请求 URL 强制使用 https?

问题描述

当我试图解决如何强制 swagger ui 搜索我的swagger/docs/v1using时,我第一次遇到了这个问题https。我设法在以下中使用此功能解决了这个问题SwaggerConfig.cs

GlobalConfiguration.Configuration 
            .EnableSwagger(c =>
                {
       c.RootUrl(ResolveBasePath)

        .
        .
        .


        string ResolveBasePath(HttpRequestMessage message)
        {
            var virtualPathRoot = message.GetRequestContext().VirtualPathRoot;
            var schemeAndHost = "https://" + message.RequestUri.Host;
            return new Uri(new Uri(schemeAndHost, UriKind.Absolute), virtualPathRoot).AbsoluteUri;
        }

这成功地搜索了文档并将它们显示在招摇的 UI 上。当我实际尝试测试我的一个 API 调用时,它使用http并且请求失败。我已经c.Schemes(new[] {"https"});尝试过这样做,但没有成功。如果有人对我如何解决这个问题有一些见解,我将不胜感激。

标签: c#httpsswaggerswagger-ui

解决方案


所以我最终弄清楚了这个问题。出于某种原因,它构建了包含http在该方案中的先前版本。


推荐阅读