Я пытаюсь настроить nginx, чтобы он вел себя как обратный прокси, прослушивающий поддомен, который мы контролируем. Я следил за примерами, найденными в сети, и они в основном работают с одним исключением, которое мне не понятно.
Осмотрите блок сервера ниже:
server{
listen *:80;
server_name placehold.com;
charset utf-8;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log error;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffers 32 4k;
proxy_pass http://google.com/;
}
}
google.com является заполнителем для этого теста.
Если я захожу на URL-адрес типа « http://placehold.com/test », он работает отлично, он перенаправляет меня на страницу с ошибкой Google, и URL-адрес в браузере остается типом. Но если я добавлю пустой URL-адрес, такой как « http://placehold.com/ », он перенаправит мой браузер на главную страницу Google, где в браузере четко отображается URL-адрес Google.
Как я могу получить обратный прокси-сервер для правильной маскировки URL для URL '/', а также URL '/with/some/path'?