Можно ли использовать Nginx в качестве прокси HTTP / HTTPS?
После некоторых тестов я обнаружил работает на меня следующая конфигурация.
server {
server_name ~^(www\.)?(?<domain>.+)$;
access_log /var/log/nginx/proxy.access.log main;
error_log /var/log/nginx/proxy.error.log crit;
listen 10.255.1.13:8080;
resolver 8.8.8.8;
location / {
proxy_pass http://$domain;
proxy_redirect off;
proxy_set_header Host $host;
# Optional headers
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For
# $proxy_add_x_forwarded_for;
}
}
Эта конфигурация работает только для HTTP, но не для HTTPS.
Я думаю, короткий ответ - нет, он не был написан для прямого проксирования
ОБНОВИТЬ
чтобы прояснить мое заявление выше:
NGINX никогда не был написан с учетом прямого проксирования - хотя удаленно можно каким-то образом подстроить конфигурацию, чтобы сделать то, что вы хотите, вам нужно будет понимать следующие ограничения:
Возможные другие соображения, которые в настоящее время неизвестны:
Если вы хотите использовать прокси HTTP / HTTPS, вам следует использовать Squid. Это было написано именно для этого. Nginx был написан как обратный прокси и балансировщик нагрузки, но не как прямой прокси.