无法将Nginx正确配置为Jenkins和Nexus服务器的反向代理

时间:2020-10-29 03:10:50

标签: nginx jenkins devops reverse-proxy nexus

我希望通过将Nginx配置为NginxJenkins的反向代理来跟踪Nexus网址。

http://10.20.30.40->应该显示Nginx主页

http://10.20.30.40/jenkins->应该显示Jenkins主页

http://10.20.30.40/nexus->应该显示Nexus主页

在谷歌搜索后,我修改了默认配置文件并尝试检查配置。但是在检查我的配置时出现以下错误。

注意:我没有任何域和ssl。暂时只使用IP地址。

sudo nginx -c /etc/nginx/nginx.conf -t

nginx: [emerg] invalid number of arguments in "proxy_pass" directive in /etc/nginx/sites-enabled/default:92
nginx: configuration file /etc/nginx/nginx.conf test failed

/ etc / nginx / sites-available / default

# Default server configuration
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }
}

# Jenkins server configuration
server {
    listen 80;
    listen [::]:80;

    server_name _;

    root /var/www/html;
    index index.html;

    location /jenkins {
        proxy_pass http://localhost:8080
        try_files $uri $uri/ =404;
    }
}
        
# Nexus server configuration
server {
    listen 80;
    listen [::]:80;

    server_name _;

    root /var/www/html;
    index index.html;

    location /nexus {
        proxy_pass http://localhost:8081
        try_files $uri $uri/ =404;
    }
}

1 个答案:

答案 0 :(得分:0)

在服务器块之外创建两个上游块,分别用于jenkins和nexus:

upstream backendjenkins {
        server <hostname>:8080;
          }

upstream backendnexus {
        server <hostname>:8081;
          }

然后,在服务器块中,像这样提及:

location /jenkins {
           proxy_pass http://backendjenkins;
           try_files $uri $uri/ =404;
        }
location /nexus {
           proxy_pass http://backendnexus;
           try_files $uri $uri/ =404;
        }

希望,这可能会对您有所帮助。