то, что я пытаюсь понять, это возможность создать полностью прозрачную систему для любого клиентского браузера, которая позволяет мне посещать любой целевой URL, используя синтаксис вроде:
то, что я пытаюсь сделать, прекрасно сообщается, но здесь нет решения http://mailman.nginx.org/pipermail/nginx/2008-De December/008987.html
https://example.com/<uri_to_visit>.
система должна работать так, как будто браузер настроен на использование прокси, но я не хочу заставлять пользователей настраивать параметр прокси.
Я подумал использовать nginx для проксирования запросов uri, а затем squid для обработки запроса. nginx и squid находятся на одном сервере, но также могут находиться на разных серверах. Я пытаюсь получить доступ к любому веб-сайту (например) google.com из любого браузера, используя
"https://example.com/service/google.com"
example.com управляется одним из моих веб-серверов nginx
Следующий https://stackoverflow.com/questions/28331813/reverse-proxy-from-nginx-to-squid
Раздел конфигурации nginx настроен следующим образом:
location ~* ^/service/(.*) {
proxy_pass http://localhost:3128/$1$is_args$args;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Request-URI $request_uri;
proxy_set_header Host $host;
proxy_redirect off;
}
и squid.conf
http_port 3128 vhost allow-direct
теперь, когда я пытаюсь получить доступ к https://example.com/service/google.com Отчет логов squid.
Я полагаю, это вопрос относительно proxy_pass, но я сделал много попыток и не смог исправить это правильно.
squid.log
TCP_MISS/403 4495 GET http://example.com/google.com - HIER_NONE/- text/html
TCP_MISS/403 4589 GET http://example.com/google.com - ORIGINAL_DST/127.0.0.1 text/html