Nginx 代理上网设置:解决 CONNECT 400 错误
Nginx 代理上网设置:解决 CONNECT 400 错误
您在使用 Nginx 代理上网后,浏览器出现以下错误提示:
- [20/Apr/2023:11:02:03 +0800] 'CONNECT fanyi.baidu.com:443 HTTP/1.1' 400 150 '' '' ''
- [20/Apr/2023:11:02:03 +0800] 'CONNECT fanyi.baidu.com:443 HTTP/1.1' 400 150 '' '' ''
- [20/Apr/2023:11:02:03 +0800] 'CONNECT passport.baidu.com:443 HTTP/1.1' 400 150 '' '' ''
- [20/Apr/2023:11:02:03 +0800] 'CONNECT fanyi.baidu.com:443 HTTP/1.1' 400 150 '' '' ''
- [20/Apr/2023:11:02:03 +0800] 'CONNECT fanyi-cdn.cdn.bcebos.com:443 HTTP/1.1' 400 150 '' '' ''
这可能是由于您的代理服务器无法正确解析域名导致的。
解决方法
-
修改 Nginx 配置文件中的 resolver 指令
将 resolver 指令指向一个可靠的 DNS 服务器地址,例如 Google 公共 DNS 服务器:
resolver 8.8.8.8; -
使用 IP 地址代替域名进行访问
如果域名解析出现问题,您可以尝试使用目标网站的 IP 地址访问,例如:
http://142.250.184.152
Nginx 配置示例
http {
server {
listen 7100 ssl;
server_name net.qq.cn;
error_page 497 https://$host:10096$request_uri;
ssl_certificate /etc/nginx/ssl/ctyunai.cn.crt;
ssl_certificate_key /etc/nginx/ssl/ctyunai.cn.key;
location / {
resolver 8.8.8.8; // 使用 Google 公共 DNS
resolver_timeout 30s;
proxy_pass $scheme://$http_host$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout http_500;
}
}
}
注意: 请根据您的实际情况修改配置参数,例如端口号、证书路径等。
如果您仍然无法解决问题,请检查您的网络连接和 DNS 设置,或者寻求专业技术支持。
原文地址: https://www.cveoy.top/t/topic/j5Zg 著作权归作者所有。请勿转载和采集!