- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
var displayUrl = UriHelper.GetDisplayUrl(Request);
var urlBuilder = new UriBuilder(displayUrl) { Query = null, Fragment = null };
string _activation_url = urlBuilder.ToString().Substring(0, urlBuilder.ToString().LastIndexOf("/")) +"/this_is_my_link.html";
我希望获得正确的 uri 生产路径,但我仍然得到
http://localhost:5000/api/mdc/this_is_my_link.html
我部署在centos 7上
请帮帮我..
谢谢
唐
最佳答案
如果您使用反向代理,您应该阅读 this guide来自微软。
基本上,您的反向代理应该向您的 ASP.NET Core 应用程序提供这些 header :
X-Forwarded-For
- 客户端 IPX-Forwarded-Host
- 来自客户端的 Host
header (例如 www.example.com:80
)X-Forwarded-Proto
- 协议(protocol)(例如 HTTPS
)然后您需要配置您的 ASP.NET Core 应用程序以接受它们。您可以调用 app.UseForwardedHeaders() Startup 的 Configure
方法中的方法。
By default (如果我正确阅读文档)UseForwardedHeaders
(如上调用)将接受 X-Forwarded-For
和 X-Forwarded-Proto
来自 localhost
反向代理。
如果你的情况比这更复杂,你必须配置你想要的 header /可信的反向代理:
var forwardedOptions = new ForwardedHeadersOptions()
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedHost | ForwardedHeaders.XForwardedProto // allow for, host, and proto (ForwardedHeaders.All also works here)
};
// if it's a single IP or a set of IPs but not a whole subnet
forwardedOptions.KnownProxies.Add(IPAddress.Parse("192.168.0.5"));
// if it's a whole subnet
forwardedOptions.KnownNetworks.Add(new IPNetwork("192.168.0.1", 24)); // 192.168.0.1 - 192.168.0.254
app.UseForwardedHeaders(forwardedOptions);
另请注意,根据您使用的反向代理,您可能需要在反向代理上进行配置
关于c# - UriHelper 如何获取生产 url 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55700457/
我在预览版 8 中创建了一个新的 Blazor 服务器端应用程序。当我调用 UriHelper.NavigateTo 从 Index.razor 页面转到计数器页面时,计数器页面被调用两次。 在 In
var displayUrl = UriHelper.GetDisplayUrl(Request); var urlBuilder = new UriBuilder(displayUrl) { Qu
我是 .NET 框架的新手,我遇到了 Microsoft.AspNetCore.Http.HttpRequest 接口(interface)的问题。我正在尝试使用 GetDisplayUri扩展名,但
我是一名优秀的程序员,十分优秀!