c# - 我如何为招摇请求 URL 强制使用 https?
问题描述
当我试图解决如何强制 swagger ui 搜索我的swagger/docs/v1
using时,我第一次遇到了这个问题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"});
尝试过这样做,但没有成功。如果有人对我如何解决这个问题有一些见解,我将不胜感激。
解决方案
所以我最终弄清楚了这个问题。出于某种原因,它构建了包含http
在该方案中的先前版本。
推荐阅读
- reactjs - 如何使用 styled-components 自定义 Material-UI Text Field 的边框颜色、宽度和高度
- c# - OpenQA.Selenium.WebDriverException:未知错误:Chrome 无法启动:在 CodeFresh 上异常退出
- css - 图像被 flex 压缩
- android - Android TextInputLayout 遗留样式
- java - Agora 语音通话在锁定屏幕 1 分钟后停止音频
- mysql - 如何在 docker compose 中重置 mariadb 密码
- python - 需要关于 Kivy 规则的解释 [关闭]
- python - 辛普森法则 Python + 绘图
- python - `asyncio.sleep(delay)` 是否保证睡眠至少 `delay` 秒?
- google-cloud-platform - Google Cloud Datastore 和服务帐号:限制访问权限