Это мой первый раз, когда я использую nginx, и я нахожу эту ситуацию довольно загадочной. Мой сайт размещен на web.example.com
а для достижения серверной части запросы направляются через nginx в качестве обратного прокси-сервера. После обработки через nginx URL меняется на URL сервера nginx (proxy.example.com
) вместо того, чтобы быть URL-адресом веб-сайта.
Поток выглядит примерно так:
web.example.com -> nginx (proxy.example.com) -> серверная часть (service.example.com)
Когда я регистрирую запрос в серверной службе, я вижу, что для x-forwarded-host установлено значение proxy.example.com
. Это правильно или надо поставить web.example.com
здесь?
Файл nginx.conf:
События {
worker_connections 1024;
}
http {
включить /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log основной;
server { # простой обратный прокси
слушать 80;
имя_сервера proxy.example.com;
местоположение/сайт {
proxy_set_header Хост $http_host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header x-forwarded-host $host;
proxy_set_header x-forwarded-server $host;
proxy_set_header x-real-ip $remote_addr;
proxy_pass_request_headers включен;
proxy_pass http://service.example.com$request_uri;
}
}
}
Как получить URL для возврата web.example.com/сайт
после прохождения этого потока вместо отображения как proxy.example.com/сайт
?
Спасибо.