nginx反向代理无法访问某些网站

nginx反向代理无法访问某些网站

我已经安装了 nginx,用作我的私有网络中的反向代理。

一切正常,除了一些网站,如:

www.dhl.com(控制台中出现错误 404 未找到)

www.bbc.com(将会保持循环播放)。

会议如下:

    server {

  server_name ~^(www\.)?(?<domain>.+)$;
  access_log /var/log/nginx/proxy.access.log main;
  error_log /var/log/nginx/proxy.error.log crit;
  listen 192.168.98.254:8081;
  resolver 8.8.8.8;
  location / {

        proxy_set_header Accept-Encoding "";
        proxy_pass http://$domain;
        proxy_redirect off;
        proxy_set_header Host $host;


    # Optional headers
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  }
}

请问有人知道如何修复此类网站吗?

谢谢,

阿雷布

答案1

有些网站需要 www,因此您应该添加如下所示的自定义变量

server_name ~^(?<var>www\.)?(?<domain>.+)$;

并改变这一行

 proxy_pass http://$domain;

 proxy_pass http://$var$domain;

相关内容