1)提取 openssl tarball

1)提取 openssl tarball

我正在尝试使用curl获取 GET 请求的 HTTP 状态:

curl --insecure --silent --show-error --connect-timeout 1 -I https://host:8443/health

注意:我--insecure在这个命令中使用了标志。

我得到以下输出:

HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Accept-Ranges: bytes
Last-Modified: Wed, 16 May 2012 03:05:24 GMT
Content-Type: text/html
Content-Length: 1234
Date: Wed, 16 May 2012 08:57:30 GMT

当我在浏览器中导航到此 URL 时,它运行正常并且我得到了一个200 OK

如何从 curl 命令中获取200 OK?我可以从浏览器导出 PEM 证书并以某种方式使用它吗?

答案1

您可以从浏览器导出证书并将其与 cURL 一起使用。从手册页:

-E,--cert [证书][:密码]

(SSL)告诉 curl 在通过 HTTPS、FTPS 或其他基于 SSL 的协议获取文件时使用指定的客户端证书文件。证书必须为 PEM 格式。如果未指定可选密码,则会在终端上查询密码。请注意,此选项假定“证书”文件是私钥和私有证书的连接!请参阅 --cert 和 --key 以单独指定它们。

如果 curl 是针对 NSS SSL 库构建的,则此选项可以告诉 curl 在环境变量 SSL_DIR(或默认情况下为 /etc/pki/nssdb)定义的 NSS 数据库内使用的证书的昵称。如果 NSS PEM PKCS#11 模块 (libnsspem.so) 可用,则可以加载 PEM 文件。如果您想使用当前目录中的文件,请在其前面加上“./”前缀,以避免与昵称混淆。

如果多次使用此选项,则将使用最后一个选项。

答案2

先决条件:-

如何:-

1)提取 openssl tarball

tar -zxvf openssl-1.1.1.tar.gz

cd openssl-1.1.1/

./配置

制作

进行安装

2)现在开始处理 curl。提取 tarball 并配置与 openssl 的兼容性

cp curl-7.61.1.tar.bz2 /opt/

cd /opt

tar -jxvf curl-7.61.1.tar.bz2

cd curl-7.61.1/

env PKG_CONFIG_PATH=/usr/local/ssl./configure --with-ssl

制作

进行安装

3)向新的“加载器库”添加新路径

回显“/opt/openssl-1.1.1/ssl”>>/etc/ld.so.conf

ldconfig

4)将新的curl设置为默认curl。

ln -s /opt/curl-7.61.1/src/curl /usr/bin/curl

5)检查curl的版本

服务器:~# curl --version

curl 7.61.1(x86_64-pc-linux-gnu)libcurl/7.61.1 OpenSSL/1.1.1 zlib/1.2.7

发布日期:2018-09-05

协议:dict file ftp ftps gopher httphttpsimap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp

功能:AsynchDNS 大文件 NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS 代理

完毕

#

#

#

谢谢你,

[电子邮件保护]

相关内容