吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 856|回复: 4
收起左侧

[讨论] ngin正向代{过}{滤}理502问题

[复制链接]
blue_sea 发表于 2022-3-10 16:56
root@wy-virtual-machine:/usr/local/nginx/sbin# curl 127.0.0.1:8888/1b.html
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>nginx/1.20.2</center>
</body>
</html>

查看日志信息为:
[error] 4228#0: *81 SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream, client: 127.0.0.1, server: , request: "GET /1b.html HTTP/1.1", upstream: "https://192.168.81.151:443/1b.html", host: "127.0.0.1:8888"

发现是ssl握手失败,通过 openssl  s_client -connect 192.168.81.151:443 命令,得到如下信息:
CONNECTED(00000003)
139692575930176:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1543:SSL alert number 40
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 283 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

在网上搜索资料,说是缺少SNI, 但是,我输入  openssl  s_client -connect 192.168.81.151:443 -servername example.com,
得到的信息和之前openssl  s_client -connect 192.168.81.151:443 得到的信息一致,而且在nginx中添加proxy_ssl_server_name   on;也没有任何作用.
  附上资料网站:     https://www.claudiokuenzler.com/blog/1120/nginx-reverse-proxy-ssl-alert-number-40-while-ssl-handshaking-upstream


想请问各位大哥,我应该如何去做?


issue.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

陌路无人 发表于 2022-3-10 20:45
完整配置可以发一下,看upstream是转发到443端口,可是监听的又是8888端口,不是很明白你想干啥,一般是对443端口做内容分发,转到8888端口,然后8888端口还要配置证书。
 楼主| blue_sea 发表于 2022-3-11 10:15
陌路无人 发表于 2022-3-10 20:45
完整配置可以发一下,看upstream是转发到443端口,可是监听的又是8888端口,不是很明白你想干啥,一般是对4 ...

是我想把http请求,通过nginx转发成https的我的server上面。由于nginx对于server,只是一个客户端的作用,所以在tls单向加密中无需配置证书把?
陌路无人 发表于 2022-3-11 21:33
blue_sea 发表于 2022-3-11 10:15
是我想把http请求,通过nginx转发成https的我的server上面。由于nginx对于server,只是一个客户端的作用, ...

我是先监听80端口,做一个301或者rewrite
[C] 纯文本查看 复制代码
    return 301 https://$host$request_uri;
或者
    #rewrite ^(.*)$  https://$host$1 permanent;


然后就是正常的443端口upstream,转到8888,即使代{过}{滤}理我也做了证书,没啥异常
 楼主| blue_sea 发表于 2022-3-11 21:42
陌路无人 发表于 2022-3-11 21:33
我是先监听80端口,做一个301或者rewrite
[mw_shl_code=c,true]    return 301 https://$host$request_u ...

我这需求client端,只能通过http,没办法加上tls,所以301和rewrite都不行。我挺好奇为啥tls,没办法建链成功的,网上的资料也都是说少SNI,但是我按照他们的方法也并没有用。最后,感谢兄弟你的帮忙。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表