404 Docker反向代理访问反向代理位置

时间:2017-05-16 09:55:53

标签: nginx docker jenkins

我正在使用具有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错误? 有人可以澄清我的怀疑吗?

ScreenShot

1 个答案:

答案 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;
    }
}