nginx как обратный прокси для чего-то вроде gmail ... что мне не хватает? - PullRequest
0 голосов
/ 18 ноября 2018

То, что начиналось как проект, позволяющий другу получать доступ к своей электронной почте из сети, которая заблокировала доступ к gmail, теперь заинтриговало меня, почему это сложно.

Я настроил небольшой обратный прокси-сервер nginx, чтобы попробовать это, с vhost, настроенным как

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, если вы перенаправлены на https://my.site.com/mail с 404, которые были отправлены из Google с сообщением «запрошенный URL / mail / не был найдено на этом сервере "

Ладно, интересно, но я перебрал несколько вещей ... возникли проблемы с редиректами на accounts.google.com и т. Д.

Теперь я ценю то, что пытаюсь обойти чьи-то правила, но я также удивлен, что не смог найти чёткого и очевидного конфига для этого (похоже, такое решение было решено несколько раз). И в любом случае я бы хотел узнать, чего мне не хватает. Любая помощь?

1 Ответ

0 голосов
/ 18 ноября 2018

Google определенно запретил бы вещи, которые допускают любую потенциальную утечку информации. Используя прокси-пароль, вы по сути говорите NGINX передать некоторую информацию (в частности, ваш запрос) в Google и скрестите пальцы, чтобы они ее приняли, и отправили вам то, что вы хотите вернуть (чего не происходит).

Вам бы гораздо лучше, если бы вы настроили VPN / веб-прокси или использовали API Gmail для создания приложения, к которому у вашего друга есть доступ.

...