繁体   English   中英

打开Windows服务的防火墙

[英]Opening firewall for a Windows Service

我有一个需要由xml-rpc客户端外部访问的C#服务应用程序。 它是通过HttpListenerRequest自托管的; 没有IIS托管。 (不能要求服务器启用IIS)

当服务器防火墙关闭或应用程序使用的端口打开时,它可以在客户端正常工作。 但是,如果我创建防火墙例外以通过其名称启用应用程序; 它无法从客户端PC访问。 (我已尝试手动启用该服务并添加代码以从我的安装程序启用该应用程序。)

我想要启用应用程序的原因; 而不是端口是端口可能会改变。 (我的应用程序将在默认端口正在使用的关闭机会上检查可用端口的范围)。 从环顾四周看来,任何未完全“自托管”的服务都无法启用防火墙。

有没有人知道这个的解决方法?

不确定语法,但我认为你必须使用netsh这样的东西:

netsh http add urlacl url=http://www.contoso.com:80/MyUri user=DOMAINE\utilisateur listen=yes

尝试将SID类型设置为unrestricted的服务。

创建入站程序或服务规则

虽然该命令还允许NONE的值,但该设置意味着该服务不能用于此处所述的防火墙规则中。 默认情况下,Windows中的大多数服务都配置为UNRESTRICTED。 如果将SID类型更改为RESTRICTED,则服务可能无法启动。 我们建议您仅更改要在防火墙规则中使用的服务的SID类型,并将SID类型更改为UNRESTRICTED。

它在页面中说使用该命令

sc sidtype <Type> <ServiceName>

但是对我来说sc工具本身就是这样说的:

sc sidtype <ServiceName> <Type>

也许该服务还必须在“网络服务”帐户下运行。 我的服务运行得不好。 编辑: 我的问题是由于WCF而不是这个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM