最近在使用nginx反向代理时遇到了一些问题,在本文记录一下问题及相应的解决方法。
问题1
问题现象
错误日志如下:
: host not found in upstream "xx.xx.vip"in /etc/nginx/conf.d/default.conf:17
nginx: [emerg] host not found in upstream "xx.xx.vip”in /etc/nginx/conf.d/default. conf:17
从错误日志可以看出这个问题主要是nginx无法解析相应的域名。
解决方法
怎么解决这个问题呢,我们只需添加相应的dns服务器即可 resolver 8.8.8.8;
。
问题2
问题现象
错误日志如下:
2023/07/28 01:35:43 [error] 34#34: *44 SSL_do_handshake() failed (SSL: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error:SSL alert number 80) while SSL handshaking to upstream, client: 172.16.64.75, server: , request: "POST /v1/data/xx/filter HTTP/1.1", upstream: "https://xxxx:443/v1/data/xx/filter", host: "xx.xx.com", referrer: "https://xx.xx.com/user/login"
解决方法
这个问题主要是https相关配置的问题,我们只需添加这几行配置即可:
proxy_ssl_session_reuse off;
proxy_ssl_server_name on;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_ssl_session_reuse off; 关闭默认尝试重新使用SSL上游的SSL会话 proxy_ssl_server_name on; 反向代理的时候,通过域名而不是ip地址去访问 proxy_ssl_protocols 指定SSL协议
小结
本文讲述了最近在使用nginx进行反向代理时遇到的2个问题及相应的解决方法,后面如果出现相关的问题,也会补充在本文中的。