c# - 仅本地主机端点
问题描述
假设我有一个可供 Internet 上的任何人访问的 API,但只有一个端点,例如
hxxps://my-domain.com/local
我希望只能从 localhost 访问
在创建仅 localhost 端点时是否还有其他可能性,而不是检查 IP 是否是
::1
| localhost
| 127.0.0.1
?
还是 HTTP Server(nginx) 级别的一些技巧?
解决方案
有几种可能:
- 用#DEBUG pragma 标记它 - 所以它只会处于调试模式
- 覆盖
ExecuteAsync
并检查功能标志(请参阅 有条件地禁用 ASP.NET MVC 控制器) - 在您的应用程序之前在负载均衡器上阻止它(许多 dotnet 核心应用程序是自托管的并通过 localhost 访问 s。例如 Azure App Service)
- 使用自定义身份验证
- 使用功能标志(如配置条目或环境变量)并在阻塞的控制器中检查它
- 使用功能标志(如上)和自定义策略进行此类检查(阅读更多:https ://docs.microsoft.com/en-gb/aspnet/core/security/authorization/policies?view=aspnetcore-2.2 )
推荐阅读
- java - Sprig 错误:使用 @OneToMany 或 @ManyToMany 定位未映射的类
- xml - Powershell 5.1:XPath“文件意外结束”
- javascript - 角度测试:未捕获错误:未捕获(承诺):错误:无法匹配任何路由。网址段:“家”
- excel - excel vba - 打开outlook msg文件然后另存为草稿
- javascript - React Hooks useState 更新数组
- apache-flink - apache flink statefun python sdk构建分发问题
- html - 如何使用反应对齐跨度中的文本以拆分为两行?
- json - 每个 foreach 值中的响应错误或成功
- ios - 如何使用 Mapbox iOS SDK 将动态 GeoGJSON 点绘制为矩形
- node.js - 将原始查询转换为 mongodb 查询的有效方式