#authentication #configuration #proxy #nginx #location
#аутентификация #конфигурация #прокси #nginx #Расположение
Вопрос:
Я в замешательстве.
У меня есть сервер, который в основном использует couchdb через ssl (используя nginx для прокси-сервера ssl-соединения), но также должен обслуживать некоторые вещи apache.
В принципе, я хочу, чтобы все, что НЕ запускается / www, отправлялось на серверную часть couchdb. Если URL-адрес начинается с /www, то он должен быть сопоставлен с локальным сервером apache на порту 8080.
Моя конфигурация ниже работает, за исключением того, что мне также запрашивается аутентификация по путям / www. Я немного больше привык настраивать Apache, чем nginx, поэтому я подозреваю, что я что-то неправильно понимаю, но если кто-нибудь может увидеть, что не так в моей конфигурации (ниже) Я был бы очень благодарен.
Чтобы прояснить мой сценарий использования;
- https://my-domain.com/www/script.cgi должно быть проксировано http://localhost:8080/script.cgi
- https://my-domain.com/anythingelse должно быть проксировано http://localhost:5984/anythingelse
ТОЛЬКО вторая должна требовать аутентификации. Это проблема с аутентификацией, которая вызывает проблемы — как я уже упоминал, мне бросают вызов наhttps://my-domain.com/www/anything также 🙁
Вот конфигурация, спасибо за любую информацию.
server {
listen 443;
ssl on;
# Any url starting /www needs to be mapped to the root
# of the back end application server on 8080
location ^~ /www/ {
proxy_pass http://localhost:8080/;
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;
}
# Everything else has to be sent to the couchdb server running on
# port 5984 and for security, this is protected with auth_basic
# authentication.
location / {
auth_basic "Restricted";
auth_basic_user_file /path-to-passwords;
proxy_pass http://localhost:5984;
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;
proxy_set_header X-Forwarded-Ssl on;
}
}
Ответ №1:
Максим любезно ответил на это за меня, упомянув, что браузеры, обращающиеся к значку, вызовут такое поведение и что конфигурация была правильной в других отношениях.