C# 将HttpListener绑定到Linux/Ubuntu中特定端口上的https
我在.netcore中创建了一个HttpListener来监听特定端口上的传入请求,我需要将ssl证书绑定到Ubuntu(版本18.04.2 LTS)上的端口8202,但不确定如何绑定。我的谷歌搜索带来了使用Apache(或我没有运行的另一个web服务器)或使用httpcfg的虚拟主机,但我没有使用mono 我在我的windows机器上创建了这个应用程序,当我使用“netsh-http-add-sslcert”时,一切都运行得非常好。在linux端,该应用程序在登录到http:而不是https:时运行得很好。如果需要的话,我愿意安装Apache并设置虚拟主机,但我觉得我遗漏了一些东西/这太复杂了。 下面是监听器的创建,应用程序的其余部分与处理请求/数据有关,因此不应该是相关的(尽管在需要时会发布) 现在,当我在https上的Ubuntu框上运行这个应用程序并运行测试时,我得到了一个错误:“无法从传输连接读取数据:远程主机强制关闭了一个现有连接。”C# 将HttpListener绑定到Linux/Ubuntu中特定端口上的https,c#,ubuntu,ssl,.net-core,C#,Ubuntu,Ssl,.net Core,我在.netcore中创建了一个HttpListener来监听特定端口上的传入请求,我需要将ssl证书绑定到Ubuntu(版本18.04.2 LTS)上的端口8202,但不确定如何绑定。我的谷歌搜索带来了使用Apache(或我没有运行的另一个web服务器)或使用httpcfg的虚拟主机,但我没有使用mono 我在我的windows机器上创建了这个应用程序,当我使用“netsh-http-add-sslcert”时,一切都运行得非常好。在linux端,该应用程序在登录到http:而不是https:
如前所述,如果它在http上列出,则一切正常,我会得到适当的响应。这有帮助吗@雷纳:我不确定这是否真的适用,除非我对这一切是如何运作有一个根本性的误解。这似乎并没有将证书绑定到端口,但只是.netcore应用程序获取证书的一个位置/方式。这有帮助吗@雷纳:我不确定这是否真的适用,除非我对这一切是如何运作有一个根本性的误解。这似乎并没有将证书绑定到端口,但只是.netcore应用程序获取证书的一个位置/方式。
// start listing on port
HttpListener listener = new HttpListener();
string url = "https://serverfqdn:8202/middleman/";
listener.Prefixes.Add(url);
try
{
listener.Start();
}
catch (Exception e)
{
Console.WriteLine("bruh i broke");
Console.WriteLine(e.Message);
}