我在NGINX反向代理后面有Jenkins,这要归功于docker compose,两个docker容器都在同一个网络中。 Jenkins服务器的唯一入口是通过暴露80端口的NGINX 。 请求到达NGINX容器后,它将重定向到Jenkins。
我没有收到成功的答复,但是没有NGINX反向代理,一切都很好。 我该如何解决?
此外,您还可以找到其他一些文件,例如nginx default.conf 和 docker-compose.yml https://github.com/orbismobile/docker-nginx-jenkins-android
设置它们之后:
我已经尝试过了
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
JENKINS DOCKERFILE
FROM jenkins/jenkins:latest
ENV JENKINS_OPTS="--prefix=/jenkins"
NGINX DOCKER文件
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,但是实际的输出是Jenkins使用此主体的403 FORBIDDEN HTTP CODE->要求身份验证-您被身份验证为:匿名
答案 0 :(得分:0)
我假设您尝试了jenkins容器中的curl命令形式。
这对我有用:
curl -u user2:ios http://127.0.0.1:8080/jenkins/api/json?pretty=true
我认为您正在尝试访问错误的Jenkins URL。