技术解析

请教一个 nginx 反代 google 的问题
0
2021-05-26 21:19:49
idczone
先贴配置:

server
{
listen 443;
server_name g4w.me;

ssl_certificate /root/ssl/g4w.me.crt;
ssl_certificate_key /root/ssl/g4w.me.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;

location / {
subs_filter www.google.com g4w.me;
subs_filter ssl.gstatic.com www.g4w.me;
subs_filter_types text/css text/xml text/javascript;

proxy_redirect off;
proxy_pass https://www.google.com;
proxy_set_header Host www.google.com;
proxy_set_header User-Agent $http_user_agent;
proxy_set_hea国外服务器der Accept-Encoding '';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

使用 ngx_http_substitutions_filter_module 模块对页面内容进行替换,但发现只有 www.google.com 能够成功替换,而 ssl.gstatic.com 一直替换不了。请问这是什么原因?

具体可以访问 https://g4w.me 看看。

PS.已经试过 ngx_http_sub_module 和 replace-filter-nginx-module ,都是 www.google.com 起作用了而 ssl.gstatic.com 不起作用。
把两个域名分开反代,你试试另建一个新的 conf 文件,专门用来反代 ssl.gstatic.com, server_name 填为 www.g4w.me

这一步已经做好了。
现在的问题是,g4w.me 里面的 ssl.gstatic.com 不会自动替换成 www.g4w.me ,而是仍然访问原地址。

我明白你的问题出在哪里了,但是我现在暂时在外面,手机上贴代码不方便,等我一会儿回家之后给你贴代码,稍等我一下可以吗?
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服