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 '' '' ''

这可能是由于您的代理服务器无法正确解析域名导致的。

解决方法

  1. 修改 Nginx 配置文件中的 resolver 指令

    将 resolver 指令指向一个可靠的 DNS 服务器地址,例如 Google 公共 DNS 服务器:

    resolver 8.8.8.8;
    
  2. 使用 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 设置,或者寻求专业技术支持。

Nginx 代理上网设置:解决 CONNECT 400 错误

原文地址: https://www.cveoy.top/t/topic/j5Zg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录