我正在使用具有jenkins容器的反向代理的docker容器并遇到了这个问题。 我的nginx自定义配置如下:
upstream jenkins {
server 172.17.0.2:8080;
}
server {
listen 80;
server_name jenkins;
location /jenkins {
proxy_pass http://172.17.0.2:8080;
}
此外,/ etc / nginx / nginx.conf没有任何默认的根目录,但是当我尝试访问http://localhost/jenkins时,它正在给我 404,问题是访问/ jenkins。原因:未找到
我检查了nginx错误日志,但是找不到“/ etc / nginx / html / index.html”
虽然我没有设置任何/ etc / nginx / html / config,为什么它给我404错误? 有人可以澄清我的怀疑吗?
答案 0 :(得分:0)
对于nginx部分来说,这样的东西似乎更合适。如果您声明上游,请使用它:
upstream jenkins {
server 172.17.0.2:8080;
}
server {
listen 80;
server_name jenkins;
location /jenkins {
proxy_pass http://jenkins;
}
}
对于docker部分,如果可以,我建议使用端口映射。因为docker容器的IP更改,所以每次重新创建jenkins容器时都必须编辑配置文件。使用类似docker container run -d -p 127.0.0.1:8080:8080 my-jenkins-container-image
的内容,您可以将nginx配置修改为:
upstream jenkins {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name jenkins;
location /jenkins {
proxy_pass http://jenkins;
}
}