Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用Curl打开安全站点_Linux_Apache_Curl - Fatal编程技术网

Linux 如何使用Curl打开安全站点

Linux 如何使用Curl打开安全站点,linux,apache,curl,Linux,Apache,Curl,最近,我们不得不在办公室使用的一些Apache上更新SSLProtocol和SSLCipher。 发件人: SSLProtocol-all+TLSv1+TLSv1.2 SSLCipherSuite高:!aNULL:+SHA1:+MD5:+HIGH 致: SSLProtocol-all+TLSv1.1+TLSv1.2 SSLCipherSuite EECDH+AES:AES256-SHA:AES128-SHA:AES:CAMELLIA:DES-CBC3-SHA:!阿努尔:!埃努尔:!出口:!德斯:

最近,我们不得不在办公室使用的一些Apache上更新SSLProtocol和SSLCipher。

发件人:
SSLProtocol-all+TLSv1+TLSv1.2
SSLCipherSuite高:!aNULL:+SHA1:+MD5:+HIGH

致:
SSLProtocol-all+TLSv1.1+TLSv1.2
SSLCipherSuite EECDH+AES:AES256-SHA:AES128-SHA:AES:CAMELLIA:DES-CBC3-SHA:!阿努尔:!埃努尔:!出口:!德斯:!RC4:!MD5:!PSK:!aECDH:!埃德:!经验:!SRP:!决策支持系统:!低:!3DES
SSLHonorCipherOrder开启
SSLVERIFYCLENT无
SSLVerifyDepth 1


所有测试都是使用curl命令完成的。但在改变之后,旋度开始出现错误

curl-vhttps://server1:4034/pages/Status.jsp --跟踪ascii/dev/stdout

警告:-跟踪ascii覆盖早期的跟踪/详细选项

==信息:即将()连接到服务器1端口4034(#0)

==信息:正在尝试xxx.xxx.xxx.xxx…==信息:已连接

==Info:连接到server1(xxx.xxx.xxx.xxx)端口4034(#0)

==信息:使用certpath:sql:/etc/pki/nssdb初始化NSS

==Info:CAfile:/etc/pki/tls/certs/ca bundle.crt

CApath:none

==信息:NSS错误-5938

==信息:关闭连接#0

==信息:SSL连接错误

curl:(35)SSL连接错误
我已经安装了支持TLSv1.2的最新可用版本(7.46.0)

有没有办法用curl来测试它?或者有什么方法可以调试curl连接?
谢谢

很可能,对于您尝试连接的服务器,您没有可信的CA。尝试添加-k(不安全选项)


很可能,您尝试连接的服务器没有可信的CA。尝试添加-k(不安全选项)

您有两个选择:

  • 按照shcherbak的建议,禁用服务器证书验证

  • 执行完整的证书验证,要使其工作,您应该拥有该CA的根证书,该CA已为您的服务器签署了证书。将PEM形式的证书放入某个文件中,例如ca.crt,并为curl提供额外的命令行参数:curl--cacert ca.crt

  • 这可能行不通,从您的消息中我看到您的curl是根据NSS库构建的,这使得事情稍微复杂一些。NSS使用自己的证书存储。您可以在Firefox配置文件中找到文件key3.db和cert8.db,这是Firefox使用的NSS存储

    为了操作这些文件,Mozilla(NSS库的维护者)提供了certutil工具:。您应该创建cert8(或者cert9,如果库有更新的版本)文件,将您的服务器证书添加为受信任的,并提供该文件的curl。SSL_DIR环境变量指示将此文件放在何处,默认值为/etc/pki/nssdb

    在此处阅读有关CURL安全配置的更多信息:

    您有两个选项:

  • 按照shcherbak的建议,禁用服务器证书验证

  • 执行完整的证书验证,要使其工作,您应该拥有该CA的根证书,该CA已为您的服务器签署了证书。将PEM形式的证书放入某个文件中,例如ca.crt,并为curl提供额外的命令行参数:curl--cacert ca.crt

  • 这可能行不通,从您的消息中我看到您的curl是根据NSS库构建的,这使得事情稍微复杂一些。NSS使用自己的证书存储。您可以在Firefox配置文件中找到文件key3.db和cert8.db,这是Firefox使用的NSS存储

    为了操作这些文件,Mozilla(NSS库的维护者)提供了certutil工具:。您应该创建cert8(或者cert9,如果库有更新的版本)文件,将您的服务器证书添加为受信任的,并提供该文件的curl。SSL_DIR环境变量指示将此文件放在何处,默认值为/etc/pki/nssdb


    请在此处阅读有关CURL安全配置的更多信息:

    谢谢大家。实际上,新版本的curl工作正常,在测试服务器和apache之间有一个防火墙。 我必须在apache服务器上安装新的curl版本,它工作正常。
    非常感谢大家的帮助。

    谢谢你们两位。实际上,新版本的curl工作正常,在测试服务器和apache之间有一个防火墙。 我必须在apache服务器上安装新的curl版本,它工作正常。 非常感谢大家的帮助

    curl -k -v https://server1:4034/pages/Status.jsp --trace-ascii /dev/stdout