当前位置: 首页 > 知识库问答 >
问题:

nginx反向代理的SSL握手问题

齐健柏
2023-03-14

我已经在预打包的jetty服务器前面安装了http反向代理。jetty服务器是预配置的应用程序,不太灵活。此Jetty服务器将只接受SSL请求。

我将nginx配置为使用自己的SSL证书在443上侦听SSL流量。然后在nginx后面,我在另一台运行jetty服务器的机器上有另一台服务器,在端口443上有自己的证书。

我的Nginx配置如下所示,

server 
{
    listen       443;
    server_name  _;
    ssl                  on;
    ssl_certificate      cc_net.pem;
    ssl_certificate_key  cc_net.key;

    ssl_session_timeout  5m;

    ssl_protocols  SSLv2 SSLv3 TLSv1;
    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers   on;
    location /rest/api/box/get_user_info {
        proxy_pass https://fssdemo.cc.net/rest/api/box/get_user_info?external=true&server=$host;
   }
   location /rest/api/box/is_running {
        proxy_pass https://fssdemo.cc.net/rest/api/box/is_running;
   }
   location / {
        root   html;
        index  index.html index.htm;
    }
}

如果我在https上点击jetty服务器,就会得到一个502的坏网关。

错误日志报告:

2014/04/10 08:52:48[错误] 648#0:*1SSL_do_handshake()失败(SSL:错误: 100AE081:椭圆曲线例程:EC_GROUP_new_by_curve_name:未知组错误: 1408D010: SSL例程:SSL3_GET_KEY_EXCHANGE: EC lib)而SSL握手到上游,客户端:172.16.9.140,服务器:_,请求:"GET /rest/api/box/is_runningHTTP/1.1",上游:"https://

我把

从上面我可以看出,这意味着从我的代理到jetty主机的ssl连接失败。

如果我在https和端口443上直接浏览到目标,那么它工作得很好。

我想知道其中一个是否能解决代理问题?但是,当连接到nginx的目标时,如何强制nginx使用ssl呢?

谢啦

共有1个答案

邵阳辉
2023-03-14

错误可能是您的openssl公布的椭圆曲线比它支持的多,然后服务器选择了一个不受支持的椭圆曲线。看见https://bugzilla.redhat.com/show_bug.cgi?id=1019390。您需要升级openssl。

 类似资料:
  • 不幸的是,我不是一个很好的系统管理员,遇到了一个让我头痛的问题。 简短的故事是,我在EC2(Ubuntu 14.04.4 LTS)上运行Nginx,以(a)托管我公司的营销网站(https://example.com,碰巧是Wordpress),(b)作为我们在Heroku(https://app.example.com)上运行的Rails应用程序的反向代理,用于某些路径。我们对example.c

  • 我试图使用nginx作为双向SSL/相互SSL的web逻辑的反向代理。 客户端<=双向SSL=>NGINX<=双向SSL=>WebLogic服务器 客户端到NGINX双向SSL工作良好,但在上游连接到web逻辑上出现以下错误。 nginx调试日志: 以下是我对上游的nginx配置: 我尝试了各种选项,包括注释下面的配置。 如果我尝试使用openssl c_client命令行,我能够连接并获得HTT

  • 主要内容:1. 代理服务器介绍,2. 将请求传递给代理的服务器,3. 传递请求标头,4. 配置缓冲区,5. 选择传出IP地址本文介绍代理服务器的基本配置。 您将学习如何通过不同协议将NGINX请求传递给代理的服务器,修改发送到代理服务器的客户端请求标头,以及配置来自代理服务器的响应缓冲。 代理服务器的基本配置目录 代理服务器介绍 将请求传递给代理的服务器 传递请求标头 配置缓冲区 选择传出IP地址 1. 代理服务器介绍 代理通常用于在多个服务器之间分配负载,无缝地显示来自不同网站的内容,或者通过

  • Nginx 是一个高性能的 HTTP 和反向代理服务器,代码完全用 C 实现,基于它的高性能以及诸多优点,我们可以把它设置为 hyperf 的前置服务器,实现负载均衡或 HTTPS 前置服务器等。 配置 Http 代理 # 至少需要一个 Hyperf 节点,多个配置多行 upstream hyperf { # Hyperf HTTP Server 的 IP 及 端口 server

  • 我尝试为Dovecot启用SSL。因此,我使用OpenSSL生成/安装证书。但是当我试图测试conncection时,客户机报告错误。也许有人能帮我。指引我正确的方向? 命令行输入:openssl s_client-connect localhost:pop3s 结果/错误: Dovecot版本:2.0.9 Openssl版本:1.0.1e-FIPS2013年2月11日 SSL的Dovecot配置

  • 我目前正在尝试为客户端界面-服务器交互构建一个API。我已经决定使用ASP.NET核心作为API,Nginx作为托管平台(在Ubuntu 18.04上)。由于ASP.NET使用Kestrel,我们设置了一个反向代理,将请求从Nginx转发到Kestrel——也就是托管API的服务器。我们在NGINX服务器上设置了SSL,但是它没有在Kestrel服务器上设置。 简单地说,我不知道如何在 Kestr