php - 使用 ssl 向服务器请求时出现错误“Гknown protocol”
问题描述
我有一些服务,包括下一个脚本: 1. Php cUrl 脚本:
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_URL, 'https://domain2/file/get');
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5000);
curl_setopt($ch, CURLOPT_TIMEOUT, 5000);
curl_setopt($ch, CURLOPT_FAILONERROR,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
它在服务器外部获取文件。
在外部服务器上,我有两个虚拟机。首先是 web-server,它通过 nginx代理到domain2的请求。接下来是它的配置:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name domain2;
ssl_certificate /etc/ssl/webservice/domain2.crt;
ssl_certificate_key /etc/ssl/webservice/domain2_private.key;
ssl_trusted_certificate /etc/ssl/webservice/domain2_chain.crt;
proxy_ssl_certificate /etc/ssl/webservice/domain2.crt;
proxy_ssl_certificate_key /etc/ssl/webservice/domain2_private.key;
proxy_ssl_trusted_certificate /etc/ssl/webservice/domain2_chain.crt;
proxy_ssl_verify on;
proxy_ssl_session_reuse off;
ssl_verify_client off;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass https://172.30.100.248:443/;
proxy_read_timeout 20m;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
https://172.30.100.248:443是带有 web 服务的本地虚拟机,它提供文件。
根据请求,我有一个错误:
错误:140770FC:SSL 例程:SSL23_GET_SERVER_HELLO:未知协议
并且无法理解这个错误。
我检查了crt,它配置正确。
解决方案
我发现一个错误:我的 nginx.conf 文件不包含带有 ssl 配置的插件配置文件(但在 nginx 状态下它是活动的并且没有错误)。有重复的 server_names。
推荐阅读
- android - 是否有任何机制可以从命令行而不是通过网络浏览器将 .AAB 更新上传到 Google Play?
- json - JSON 逻辑到 Elasticsearch 查询
- apache-nifi - ListenHTTP 没有设置正确的 Content-Type
- r - 与拼凑组合时,将 geom_point 数据与 geom_col 数据对齐
- electron - 致命错误 A1000:无法打开文件:deps\libffi\src\x86\win32.asm
- unity3d - 当我使用 2D 光线投射进行碰撞时,我的对象与地面发生了碰撞
- python - 日期时间在两个完全任意的日期出现故障
- r - 为不在我的数据库中的日期生成图表
- javascript - 不能对一个元素使用两个过渡
- python - 如何在函数中声明“函数”类型的参数