IIS 上的 LetsEncrypt-ACMESharp http-01 挑战无效

LetsEncrypt-ACMESharp http-01 challenge on IIS invalid

在服务器 A(非 IIS)上我执行了:

Import-Module ACMESharp
Initialize-ACMEVault
New-ACMERegistration -Contacts mailto:somebody@derryloran.com -AcceptTos
New-ACMEIdentifier -Dns www.derryloran.com -Alias dns1
Complete-ACMEChallenge dns1 -ChallengeType http-01 -Handler manual

回复询问:

* Handle Time:      [08/05/2017 22:46:27]
* Challenge Token:  [BkqO-eYZ5sjgl9Uf3XpM5_s6e5OEgCj9FimuyPACOhI]
To complete this Challenge please create a new file
under the server that is responding to the hostname
and path given with the following characteristics:
  * HTTP URL:     [http://www.derryloran.com/.well-known/acme-challenge/BkqO-eYZ5sjgl9Uf3XpM5_s6e5OEgCj9FimuyPACOhI]
  * File Path:    [.well-known/acme-challenge/BkqO-eYZ5sjgl9Uf3XpM5_s6e5OEgCj9FimuyPACOhI]
  * File Content: [BkqO-eYZ5sjgl9Uf3XpM5_s6e5OEgCj9FimuyPACOhI.X-01XUeWTE-LgpxWF4D-W_ZvEfu6ue2fAd7DJNhomQM]
  * MIME Type:    [text/plain]

服务器 B 正在 www.derryloran.com http://www.derryloran.com/.well-known/acme-challenge/BkqO-eYZ5sjgl9Uf3XpM5_s6e5OEgCj9FimuyPACOhI 处的一个页面,我相信是正确的,但是当我回到服务器 A 上执行时:

Submit-ACMEChallenge dns1 -ChallengeType http-01
(Update-ACMEIdentifier dns1 -ChallengeType http-01).Challenges | Where-Object {$_.Type -eq "http-01"}

...但状态在几秒后失效。 FWIW 我已经尝试过几次,结果都是一样的。为什么?我做错了什么?

我很感激一旦我获得了证书还有很多事情要做,但是该网站是在 docker 容器中提供服务的,因此服务器 A/B 复杂性...

天啊,多少次了?!?该文件在 VS 中创建时具有 BOM。使用 Notepad++ 重新创建并另存为 UTF-8(无 BOM),我现在收到了有效回复。