加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

自托管C#SSL Web服务器,无需管理员权限

发布时间:2020-12-16 07:07:25 所属栏目:百科 来源:网络整理
导读:我们有自托管的C#WCF服务,通过HTTPS提供rest API. 问题:为SSL配置证书需要管理员权限.我假设它与WCF有关,取决于http.sys的http / https处理.该服务旨在部署在客户环境中.如果它可以在不需要管理员权限的情况下运行,那就太好了. 看起来WCF依赖于http.sys, Ca
我们有自托管的C#WCF服务,通过HTTPS提供rest API.

问题:为SSL配置证书需要管理员权限.我假设它与WCF有关,取决于http.sys的http / https处理.该服务旨在部署在客户环境中.如果它可以在不需要管理员权限的情况下运行,那就太好了.

看起来WCF依赖于http.sys,
Can I self-host an HTTPS service in WCF without the certificate store and without using netsh http add sslcert?

想知道是否存在支持SSL并且不需要管理员权限的任何其他嵌入式Web服务器解决方案?

到目前为止检查,
http://nancyfx.org/
https://github.com/pvginkel/NHttp

两者似乎都不支持SSL.

解决方法

大多数Windows托管的Web堆栈依赖于HTTP Server API,它是围绕内核HTTP堆栈的API(a.k.a HTTP.sys). .Net HttpListener类也是如此(与WCF相同,OWIN自托管asp.Net等依赖它).

只是确保,你知道你可以授权你运行应用程序的身份绑定到HTTPS URL,即使它没有作为管理员帐户运行,对吧?如果您可以在安装阶段获得管理员权限,这可以解决您的问题? (假设你已经检查过)
您可以在我写的关于here的博客文章中阅读更多内容

要在原始套接字上构建一个http堆栈的努力将是一个很大的努力,并没有多少收益,所以.Net我怀疑你会发现类似的东西.

除非,它希望是跨平台的.
任何基于Java的Web服务器都可能就是这样,使用JVM的http栈并依靠java密钥库为SSL提供所需的证书. (使其在不同的操作系统中可移植)
如果你想去java我相信你可以找到很多这样的网络服务器.

如果您想尝试使用CGI绑定到Web服务器,请查看mongoose(从未使用它说实话).

想到的另一个选择是使用像Stunnel这样的ssl代理站在Web服务器前面.它将使用非Windows证书存储区执行SSL部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读