我有多台服务器/机器。我用于开发的服务器之一。
我正在尝试运行一个简单的Powershell脚本,该脚本从Vault中检索一些值 https://www.hashicorp.com/products/vault/
Function getValues($token) {
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("X-Vault-Token", $token)
$response = Invoke-RestMethod -method GET -uri "https://vault.com:8243/v1/secret/vault/development" -ContentType 'application/json' -headers $headers
$response.data| ConvertTo-Json -depth 100
}
getValues $token
我收到此错误:
Invoke-RestMethod :
Bad Request
Bad Request - Invalid URL
HTTP Error 400. The request URL is invalid.
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
eption
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
但是,当我在本地(我的计算机)或从另一台服务器/计算机上运行脚本时,我得到了响应,并且值还不错。
是否有原因可以在一台机器上运行而不是在那台机器上运行?服务器都具有相同的设置(Windows 2016)
可以正常运行的计算机和不正常运行的计算机上的代理服务器设置相同:
答案 0 :(得分:0)
在运行netmon跟踪后发现REST命令试图通过代理调用URL。
我在很久以前创建的powershell配置文件中设置了此不工作服务器上的代理。通过注释掉/删除这些代理行,其余的调用就能够发送回响应