让我们使用IISencryptionMS CRM的证书

我在本地安装了MS CRM 2015的实例,在Win 2012 R2服务器IIS 8.5上安装。

我想使用Let's Encrypt服务为此服务器上的crm.example.com生成证书。

让我们encryption想要使用.well-known/acme-challenge目录进行validation。 MS CRM已经接pipe了默认网站,并使用Windows身份validation将请求redirect到其网站文件夹。

有没有办法将CRM网站中.well-known/acme-challenge文件夹列入白名单 ,以避免身份validation?

我已经尝试在web.config添加一个location部分,但是由于path以点开始,IIS会引发错误。

https://stackoverflow.com/questions/10351075/allow-anonymous-authentication-for-a-single-folder-in-web-config

我曾尝试添加一个处理程序来解决这个问题,如下所示:

https://stackoverflow.com/questions/11728846/dots-in-url-causes-404-with-asp-net-mvc-and-iis但我得到同样的错误。

作为一种替代方法,我们可以使用DNS来validationLet's Encrypt,但是我并不真正做到这一点,而且我也找不到证据表明我的提供者有一个用于此目的的API。

我有其他的select吗?

感谢@Peter Hahndorf的解决方法,以@benadams letsencrypt修复IIS的语法和@Mike Ratcliffe (编辑ApplicatonHost.config)

如果您希望让我们encryption写入CRM网站的./ well- known子文件夹,请先创build子文件夹,然后按如下方式更改configuration。

编辑ApplicationHost.config (主IISconfiguration文件),我的是在Windows/System32/inetsrv/config 。 如果您正在运行64位版本的Windows,则必须使用64位编辑器(我使用Windows记事本)。

我在<location path="Microsoft Dynamics CRM/.well-known">部分中添加/更改了以下几行。

<system.webServer> <validation validateIntegratedModeConfiguration="false" /> <staticContent> <mimeMap fileExtension=".*" mimeType="text/plain" /> <mimeMap fileExtension="." mimeType="text/plain" /> </staticContent> <handlers> <clear /> <add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Either" requireAccess="Read" allowPathInfo="false" preCondition="" responseBufferLimit="4194304" /> </handlers> <security> <authentication> <anonymousAuthentication enabled="true" /> </authentication> </security> </system.webServer>

这允许匿名authentication和任何用户访问CRM默认网站下的以点开头的path。

通过这个设置,我可以使用letsencrypt-win-simple PowerShell脚本来申请证书。