我在 Ubuntu 14.04 上安装了 nginx,并且尝试在 Jenkins 安装之前运行反向代理(在端口 8080 上运行,如下所示)。
我创建了一个要包含在默认配置中的 conf 文件,它可以很好地选择新位置,但它返回 404,而不是提供应用程序的内容。
我缺少什么?它看起来与Nginx 管理指南。
# /etc/nginx/conf.d/reverse_proxy.conf
server {
listen 80 default_server;
server_name this_server_name;
location /jenkins {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
ps(编辑):404 由 Jenkins 返回,而不是 nginx。
答案1
更改您的 Nginx 配置
location /jenkins {
proxy_pass http://localhost:8080/jenkins;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
然后,重新配置您的 jenkins 服务器以接受 /jenkins 的请求,方法如下JENKINS_ARGS
更改/etc/default/jenkins
JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --prefix=/jenkins"
您可以在以下位置找到详细指南
https://www.yauh.de/set-up-nginx-as-a-reverse-proxy-for-jira-and-jenkins/#usingnginxasaproxy