Рейтинг:1

nginx: Как перенаправить на другой домен при использовании аутентификации по паролю?

флаг pl

Я пытаюсь перенаправить domain.com на domain2.com с помощью Nginx. И пользователь должен быть перенаправлен только с правильным паролем.

Я добился перенаправления и аутентификации по паролю. Но расчесывание этих двух не работает.

Вот мой /etc/nginx/nginx.conf:

сервер {
            слушать 80;
            имя_сервера домен.com;

            местоположение / thisOne {
                auth_basic "Контент с ограниченным доступом";
                auth_basic_user_file /etc/nginx/.htpasswd;
                вернуть 301 http://domain2.com:8080/thisOne/;
            }
        }

Кто-нибудь может мне помочь? Что я делаю не так?

Рейтинг:0
флаг us

Проблема в том, что возвращаться оператор оценивается до авторизация заявления. Вы можете переместить возвращаться оператор в другой блок, чтобы заставить порядок оценки, который вы ищете.

Например:

местоположение / thisOne {
    auth_basic "Контент с ограниченным доступом";
    auth_basic_user_file /etc/nginx/.htpasswd;
    try_files _nonexistent_ @thisOne;
}
местоположение @thisOne {
    вернуть 301 http://domain2.com:8080/thisOne/;
}
флаг pl
Спасибо! Это решило мою проблему!
флаг pl
И как мне совместить это с proxy_pass? Если я пишу «proxy_pass» вместо «return 301», это говорит о синтаксической ошибке.
Richard Smith avatar
флаг us
`proxy_pass` не страдает от той же проблемы ранней оценки, что и `return`, поэтому он должен работать с вашей исходной конфигурацией.
флаг pl
Ох, ладно. Так что я попробовал это с `место/этот { auth_basic "Контент с ограниченным доступом"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://domain2.com:8080/thisOne/; } ` но затем я получаю сообщение об ошибке перенаправления: вызываемый веб-сайт перенаправляет запрос, чтобы он никогда не мог быть выполнен
флаг pl
Я понял. Я использовал IP для домена2 вместо домена2, и это сработало.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.