Відповіді:
Після деяких тестів я виявив, що працює для мене наступна конфігурація.
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 був написаний, щоб діяти як зворотний проксі і балансир завантаження, але не прямий проксі.
listen ... default_server
. 2:server_name ""
абоserver_name _
. 2:proxy_pass $scheme://$http_host
. Обмеження: прихилення до верхніх потоків лише з портом 80; не обробляє перенаправлення себе.