3

Я пытаюсь настроить 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'?

1 ответ1

2

Ваш прокси работает нормально. Visitng http://google.com возвращает:

301 Moved Permanently
Location:https://www.google.com/

Ваш браузер перенаправляется на http://www.google.com

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .