小编Tar*_*rwn的帖子

除非以前从浏览器访问过,否则 HTTPS 地址/域的 cUrl 会超时

我已经在这个问题上浪费了几天时间,希望它能激发某人的想法。

我正在使用 Powershell 脚本将多个系统集成在一起。我连接到的两个服务之一(托管 JIRA)可以从我的本地系统正常访问,但是从我的一个 VM 运行时脚本会失败。我偶然发现,如果我打开/刷新服务器上的浏览器以获取该主机的 HTTPS URL,那么脚本将能够在此后大约 20-30 秒内通过 HTTPS 访问 API。

当我远程访问服务器并从 powershell 控制台尝试此操作时,我收到超时错误。然后我验证了 cUrl 发生了相同的行为(下面包含详细输出)。使用该域刷新浏览器后,两者都可以在短时间内访问 HTTPS URL。在 SSL 协商之前的初始连接似乎超时。

代表 PoSH 命令:

Invoke-RestMethod -Method Get -Uri " https://MYDOMAIN.atlassian.net/rest/api/2/issue/PLPT-1?fields=key,id,status " -Headers @{"Authorization" = "Basic " + [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('USERNAME:PASSWORD'))}

代表 cUrl 命令:

curl.exe " https://MYDOMAIN.atlassian.net/rest/api/2/issue/PLPT-1?fields=key,id,status " -u "USERNAME:PASSWORD" -v -X GET

我在这方面做了很多挖掘,我很难过。我确实尝试使用 Wireshark 进行更深入的挖掘,但是我已经好几年没有使用数据包嗅探器了,而且我已经生疏了,不得不学习 UI。

故障排除:

以下是我在尝试隔离问题时能想到的问题/答案:

  • 是powershell吗?
    • 使用 cUrl 也会超时
  • 都是HTTPS吗?
    • https://google.com/ 没有超时工作正常
    • https://localhost/... 没有超时工作正常
  • 它是一个曾经通过浏览器访问过 JIRA 的系统吗?
    • 尽管从未访问过 JIRA,但我验证了我的家用桌面可以通过 PoSH 连接
  • 是主机、DC 还是操作系统?
    • 这是 Azure 中的 2008 …

powershell https curl jira

5
推荐指数
1
解决办法
3174
查看次数

标签 统计

curl ×1

https ×1

jira ×1

powershell ×1