【发布时间】:2019-04-08 05:14:32
【问题描述】:
我有 Jenkins 支持 NGINX 反向代理,由于 docker compose,两个 docker 容器都在同一个网络中。 Jenkins服务器的唯一入口是通过暴露80端口的NGINX。 一旦请求到达 NGINX 容器,它就会重定向到 Jenkins。
我没有得到成功的响应,但是没有 NGINX 反向代理一切正常。 我该如何解决?
此外,您还可以找到一些附加文件,例如 nginx default.conf 和 docker-compose.yml https://github.com/orbismobile/docker-nginx-jenkins-android
设置后:
- 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 码头工人文件
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:
我希望得到 200 OK HTTP 代码,但实际输出是来自 Jenkins 的 403 FORBIDDEN HTTP CODE 与此正文 --> 需要身份验证 - 您的身份验证为:匿名
【问题讨论】:
标签: docker nginx jenkins docker-compose jenkins-api