Моя фляга Аутентификация приложения работает нормально, но когда я делаю все приложение, используя альпийский образ, аутентификация нарушается - PullRequest
0 голосов
/ 11 февраля 2019

У меня есть простое небольшое приложение Flask, при локальном запуске аутентификация работает нормально, но когда я докерзирую все приложение, используя альпийский образ, аутентификация нарушается.Несмотря на то, что я ввел правильные учетные данные, мое приложение входит в систему, но показывает сообщение об ошибке, которое гласит «Пожалуйста, войдите в систему, чтобы получить доступ к этой странице».

Я использую Apache2 в качестве обратного прокси-сервера и httpd: alpine в качестве образа докера.Это мой файл Docker

FROM httpd:2.4.38-alpine

RUN apk --update --no-cache add python3 python3-dev apache2  wget ca-certificates make gcc musl-dev py-pip py-virtualenv

COPY ./app_trac/apache2-vhost.conf conf/extra/httpd-vhosts.conf

RUN sed -i -e 's/^#ServerName.*$/ServerName vacation.ps-office.local:80/' conf/httpd.conf

RUN sed -i -e "s|#Include conf/extra/httpd-vhosts.conf|Include conf/extra/httpd-vhosts.conf|g"  conf/httpd.conf

RUN cd /usr/local/apache2/modules/

RUN mkdir vacation

COPY ./app_trac/requirements.txt htdocs/app/requirements.txt

RUN pip3 install -r htdocs/app/requirements.txt

RUN pip3 install mod_wsgi

RUN mod_wsgi-express module-config

RUN chmod -R a+rwx htdocs/app

EXPOSE 80

CMD ["httpd", "-D", "FOREGROUND"]

Это загрузка и сохранение пользовательских функций моего приложения, я использую аутентификацию LDAP.

@login_manager.user_loader
def load_user(user_id):
    if user_id in users:
        return users[user_id]
    return None

@ldap_manager.save_user
def save_user(dn, username, data, memberships):
    user = User(dn = dn, username = username, data = data)
    users[dn] = user
    return user

Что я в основном делаю неправильно?Я получаю только проблемы аутентификации с докером.Кажется, что nginx работает нормально.

1 Ответ

0 голосов
/ 12 февраля 2019

Необходимо разрешить контейнеру доступ к серверу LDAP, при запуске контейнера доступ к сети ограничен.

Может быть, это поможет вам Аутентификация LDAP в контейнере Docker

...