openssl - Ubuntu - OpenSSL:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号
问题描述
我有 2 个域;主域和 api 域,在 2 个 Ubuntu VPS 上用于应用程序和数据库服务器。我在 SSL 上发送内部请求 api 域时遇到问题。
短错误;OpenSSL:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号
细节;
在应用服务器上 Varnish 监听 80 端口并将请求重定向到 Nginx 8080
Nginx 监听 443 端口,
我使用 certbot certonly 安装了 LetsEncrypt SSL,
我使用 Cloudflare 作为代理,
我在/etc/hosts上添加了一条规则来发送和获取内部请求 - 回答,因为;外部请求晚于 Cloudflare 代理。规则;
127.0.0.1 myapidomain.com
在这种情况下,如果我在 SSL 上发送请求 myapidomain.com,我会遇到:OpenSSL:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号无法建立 SSL 连接错误。见:https ://prnt.sc/112u93m
如果我向没有 SSL 的 api 域发送请求,例如http://myapidomain.com,它就是连接的。或者,如果我再次删除主机规则,它会连接。
Varnish检查请求域并重定向到 nginx 8080:
backend panel {
.host = "127.0.0.1";
.port = "8080";
}
Nginx 配置:
server {
listen 8080 default_server;
listen [::]:8080 default_server;
root /var/www/html/domain.com/public;
index index.php index.html index.htm;
server_name localhost api.mydomain.com;
...
ssl_certificate /etc/letsencrypt/live/mydom.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydom.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
}
server {
listen 443;
root /var/www/html/domain.com/public;
index index.php index.html index.htm;
server_name localhost api.mydomain.com;
...
ssl_certificate /etc/letsencrypt/live/mydom.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydom.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
}
你有什么想法?谢谢你。
解决方案
推荐阅读
- path - 游戏中的最短路径(星际争霸示例)
- javascript - 在 v5 中扩展 d3.selection——这是正确的做法吗?
- ruby-on-rails - Rails 如何以一种形式保存来自不同模型(国家、州、城市、地址)的地址?
- java - Springboot 应用程序 @EnableConfigServer 在 Eclipse 中无法解析
- java - 无法打开生成的pdf
- git - 如何通过“git svn”签出一些目录?
- php - 程序无法启动,因为您的计算机中缺少 php7.dll
- c++ - 结构和类的不同 sizeof() 彼此具有相同的字段类型
- android - Kotlin - 类型不匹配:必需:找到上下文:上下文?
- wordpress - 在 wordpress 后端添加额外的字段类型