在分析使我们的Web应用程序更易于部署在客户网站上的一些方法时,其中一个建议是包含一个可嵌入的Web服务器,以避免客户需要配置/安装Apache / IIS。
这种方法有哪些缺点?具体来说,如果客户的服务器已在默认端口上运行Apache / IIS,那么我们可以遇到嵌入式Web服务器可能遇到的问题是什么?
您是否看到过任何商业产品采用的这种方法?如果在安装过程中使用最少量的“服务器外科手术”来实现目标是更容易部署,那么嵌入Web服务器是否可行?或者是否有更有效的方法来最小化部署支持?
答案 0 :(得分:0)
我认为一个很大的缺点可能是他们将继承任何安全漏洞或Apache / IIS的默认设置,这些设置是通过嵌入式Web服务器引入的。如果它将由精明的网络管理员锁定,由有限数量的用户或机器等访问,这是一个不同的故事,但如果它只是在网络上,并且可见并且可供所有发生的人使用这是一个潜在的红旗。
除此之外,您可能还会遇到升级问题,例如Apache或IIS,或者您的应用程序需要的某些子组件(例如OpenSSL)有一些更新来插入安全漏洞,您是否会选择不中断客户的生产环境,因为他们“很有可能”不会成为这个漏洞的受害者,或者你会强制要求他们升级,否则你不会对后果承担责任(即使你对自己耳语,你放了他们在那种情况下首先)。
在我有限的经验中,我见过的唯一商业产品是网络设备和路由器制造商,如Linksys,Sonic,Cisco等,以及他们的板载网络界面。通常虽然这些设备正在使用集合和明确定义的协议和流程,但您的应用程序可能没有那么明确或直接。
答案 1 :(得分:0)
如果您的操作系统是Windows 2008+,即IIS7 +,那么您可以选择使用IIS Hostable Webcore。
整个网络服务器是在hwebcore.dll中实现的,它随IIS7一起安装,可以选择IIS7.5(Win2k8 R2)。
你可以在这里找到我很久以前写过的文章和代码示例......看看吧 http://www.awesomeideas.net/page/IIS7-Hostable-WebCore.aspx
另一个选择是WebMatrix,如果它仅用于开发目的。