У меня есть Jenkins за обратным прокси-сервером NGINX, оба docker-контейнера находятся в одной сети, благодаря docker compose. Единственный вход на сервер Jenkins через NGINX, который предоставляет порт 80 .
Как только запрос достигает контейнера NGINX, он перенаправляется в Jenkins.
Я не получаю успешного ответа, но без обратного прокси-сервера NGINX все работает нормально . Как я могу решить эту проблему?
Кроме того, вы можете найти некоторые дополнительные файлы, такие как nginx default.conf и docker-compose.yml
https://github.com/orbismobile/docker-nginx-jenkins-android
После их настройки:
- Базовый auth пользователя NGINX: user1 - android (пароль)
- Администратор Jenkins: user2 - ios (пароль)
Я пробовал это
curl -u user1:android http://localhost:8080/api/json?pretty=true
curl -u user2:ios http://localhost:8080/api/json?pretty=true
curl -U user2:ios -u carlos1:android http://localhost:8080/api/json?pretty=true
ДЖЕНКИНС ДОКЕРФИЛЬ
FROM jenkins/jenkins:latest
ENV JENKINS_OPTS="--prefix=/jenkins"
NGINX DOCKER FILE
FROM nginx:latest
# Install a password file creation utility to create username-password pairs
RUN apt-get update; apt-get install -y --no-install-recommends apache2-utils
RUN mkdir /etc/apache2; cd /etc/apache2; touch .htpasswd
DOCKER-COMPOSE.YAML
version: '3'
services:
jenkinsservice:
build: ./jenkins-service
volumes:
- jenkinshomevol:/var/jenkins_home
nginxservice:
build: ./nginx-service
ports:
- "80:80"
volumes:
- ./nginx-service/conf.d:/etc/nginx/conf.d
- ./nginx-service/html:/usr/share/nginx/html
depends_on:
- jenkinsservice
volumes:
jenkinshomevol:
Я ожидаю, что HTTP-код 200 OK, но фактический вывод - 403 ЗАПРЕЩЕН HTTP-КОД HTTP от Jenkins с этим телом -> Требуется аутентификация - Вы аутентифицированы как: анонимный