最初是一个让朋友从阻止gmail访问的网络访问她的电子邮件的项目,现在让我着迷于为什么很难。
我已经设置了一些nginx反向代理来尝试此操作,虚拟主机的配置类似于
server {
server_name my.host.com;
resolver 8.8.8.8 ipv6=off;
location / {
proxy_buffering off;
proxy_pass https://mail.google.com/;
proxy_set_header HOST $host;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ /.well-known {
allow all;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/my.host.com/fullchain.pem;
# managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/my.host.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = my.host.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name my.host.com;
return 404; # managed by Certbot
}
...我已经经历了几次迭代,但是如果您访问https://my.site.com
,现在会发生什么,您会被Google投放的404重定向到https://my.site.com/mail
,说“请求的网址/在此服务器上找不到mail /”。
很好,很有趣,但是我已经遍历了几件事...在重定向到account.google.com等时遇到了麻烦。
现在,我很欣赏我试图绕过某人的规则,但是令我惊讶的是,我没有为此找到清晰的配置(这似乎已经被解决了好几次了)。无论如何,我想了解我所缺少的。有帮助吗?
答案 0 :(得分:0)
Google绝对不会允许任何可能导致信息泄漏的事情。通过使用代理通行证,您实际上是在告诉NGINX将某些信息(具体是您的请求)传递给Google,然后用手指指着他们会接受该信息,然后将您想要的信息发送给您(这没有发生)。
设置一个VPN / Web代理或使用Gmail的API创建一个您的朋友可以访问的应用程序会更好。