You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

续期Let's Encrypt SSL证书报错及PowerShell部署问题咨询

排查Let's Encrypt SSL证书续期时的"authority should be in Uri format"错误

看起来你遇到的这个ArgumentException核心问题是传入的authority参数不是合法的URI格式,结合你提到的用New-AzureRmADApplication部署的背景,大概率是AD应用配置里的URL参数格式不规范,导致后续续期逻辑调用时解析失败。下面是具体的排查和修复步骤:

1. 检查New-AzureRmADApplication命令中的$uri格式

你执行的命令里-HomePage $uri这个参数必须是完整的合法URI,比如要包含http://或https://前缀,不能只是一个域名或者相对路径。举个例子:

  • 错误格式:example.com、/home
  • 正确格式:https://example.com、https://your-app-name.azurewebsites.net

你可以先验证当时设置的$uri是否合法,在PowerShell里执行:

[Uri]::IsWellFormedUriString($uri, [UriKind]::Absolute)

如果返回False,说明你的$uri格式有问题,这就是根源之一。

2. 检查已创建的AD应用的配置

即使你当时执行命令没报错,也可能因为参数格式不严谨导致AD应用的HomePage或IdentifierUris配置有问题。你可以用下面的PowerShell命令查看已创建的AD应用详情:

Get-AzureRmADApplication -DisplayName "{your display name}" | Select-Object HomePage, IdentifierUris

重点看这两个字段:

  • HomePage必须是绝对URI(带http/https前缀)
  • IdentifierUris也需要是合法的URI格式(通常是https://{tenant-id}/{app-id}或者自定义的带前缀的URI)

如果其中任何一个字段格式不符合要求,就需要更新AD应用的配置,比如:

Set-AzureRmADApplication -ObjectId {your-app-object-id} -HomePage "https://your-valid-uri.com" -IdentifierUris @("https://your-valid-uri.com/api")

3. 验证续期逻辑中的authority参数来源

续期证书的函数(Functions.RenewCertificate)里用到的authority参数,通常是从AD应用的配置中获取的(比如HomePage或者租户的权威URI)。你可以检查函数的配置项,或者查看函数代码中构建authority的部分:

  • 确保它拼接出来的是完整的URI,比如https://login.microsoftonline.com/{your-tenant-id}这种格式
  • 避免出现遗漏前缀、多了多余字符(比如空格、特殊符号)的情况

4. 重新触发续期测试

修复完AD应用的URI配置和函数中的参数后,手动触发一次证书续期操作,看看错误是否消失。如果还是有问题,可以查看函数的完整日志,找到authority参数的具体值,这样能更精准定位格式问题。


内容的提问来源于stack exchange,提问作者LIB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:46:44