Suk*_*uku 5 ssl curl nginx haproxy insecure-connection
curl 当我使用without 打开网址时-k,我的请求正在通过,并且我能够看到预期的结果。
$ curl -vvv https://MYHOSTNAME/wex/archive.info -A SUKU$RANDOM
* Trying 10.38.202.192...
* Connected to MYHOSTNAME (10.38.202.192) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.MYCNAME
* Server certificate: ProdIssuedCA1
* Server certificate: InternalRootCA
> GET /wex/archive.info HTTP/1.1
> Host: MYHOSTNAME
> User-Agent: SUKU19816
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.10.2
< Date: Thu, 26 Jan 2017 01:08:40 GMT
< Content-Type: text/html;charset=ISO-8859-1
< Content-Length: 19
< Connection: keep-alive
< Set-Cookie: JSESSIONID=1XXXXXXXX3E58093E816FE62D81; Path=/wex/; HttpOnly
< X-WebProxy-Id: 220ffb81872a
<
status=Running
* Connection #0 to host MYHOSTNAME left intact
Run Code Online (Sandbox Code Playgroud)
但是当我打开相同的网址时却 -k失败了。对我来说,它没有任何意义,因为据我了解,其目的-k只是跳过证书验证
$ curl -vvv https://MYHOSTNAME/wex/archive.info -A SUKU$RANDOM -k
* Trying 10.38.202.192...
* Connected to MYHOSTNAME (10.38.202.192) port 443 (#0)
* Server aborted the SSL handshake
* Closing connection 0
curl: (35) Server aborted the SSL handshake
Run Code Online (Sandbox Code Playgroud)
请求流程:
对于解决此类问题,该--resolve选项可能很有用:
curl -k -I --resolve www.example.com:80:192.0.2.1 https://www.example.com/\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n为特定主机和端口对提供自定义地址。使用此功能,您可以使curl 请求使用指定的地址,并防止使用通常解析的地址。将其视为命令行上提供的一种 /etc/hosts 替代方案。端口号应该是用于主机将使用的特定协议的号码。这意味着如果您想为同一主机但不同的端口提供地址,则需要多个条目。
\n
特别是如果您尝试获取的站点使用 SNI:在这种情况下,您可以使用该--resolve选项指定在 TLS 客户端 hello 中使用的服务器名称。
可以尝试的一个故障排除步骤:从源代码中自行更新curl或编译,然后重试。一方面,某些curl版本(例如 MacOS)据称不会发送-k/的 SNI --insecure。
如果\xe2\x80\x99是您遇到的问题,并且您可以\xe2\x80\x99t替换curl,那么\xe2\x80\x99有一个解决方法,您可以使用,该解决方法本质上涉及创建您自己的CA和私有CA密钥和 CSR,以及对您的 haproxy 的调整。
设置完成后,您可以使用or来代替指定-k/ :--insecure--cacert--capath
curl https://example.com/api/endpoint --cacert certs/servers/example.com/chain.pem\ncurl https://example.com/api/endpoint --capath certs/ca\nRun Code Online (Sandbox Code Playgroud)\n\n如果您\xe2\x80\x99遇到的问题是由于SNI引起的,您还可以使用https://sni.velox.ch/等网站进行故障排除:
\n\ncurl --insecure https://sni.velox.ch/\nRun Code Online (Sandbox Code Playgroud)\n\n否则,如果它\xe2\x80\x99s不是SNI,那么我记得在某个地方看到-k/--insecure可能无法在某些代理配置中按预期工作。因此,如果您正在从客户端使用某种代理,并且可以在没有代理的情况下直接进行测试,那么这可能值得探索。
| 归档时间: |
|
| 查看次数: |
19228 次 |
| 最近记录: |