nginx作为gmail之类的反向代理...我缺少什么?

时间:2018-11-17 22:29:57

标签: nginx gmail reverse-proxy

最初是一个让朋友从阻止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等时遇到了麻烦。

现在,我很欣赏我试图绕过某人的规则,但是令我惊讶的是,我没有为此找到清晰的配置(这似乎已经被解决了好几次了)。无论如何,我想了解我所缺少的。有帮助吗?

1 个答案:

答案 0 :(得分:0)

Google绝对不会允许任何可能导致信息泄漏的事情。通过使用代理通行证,您实际上是在告诉NGINX将某些信息(具体是您的请求)传递给Google,然后用手指指着他们会接受该信息,然后将您想要的信息发送给您(这没有发生)。

设置一个VPN / Web代理或使用Gmail的API创建一个您的朋友可以访问的应用程序会更好。