Nexus3 + Nginx反向代理

时间:2018-10-15 11:18:52

标签: nginx reverse-proxy nexus3

我正试图让Nexus3在Nginx之后运行。

Nginx用作反向代理并用于SSL终止。通过Nginx访问/ nexus路径时,出现多个错误,例如“由于无法访问服务器导致操作失败”和“无法检测到您连接到哪个节点”。在不通过Nginx的情况下访问Nexus UI的工作原理非常完美,这使我认为错误出在Nginx上。

NginX配置文件

location /nexus {
            proxy_pass http://localhost:8081/nexus/;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            resolver 8.8.8.8 8.8.4.4 ipv6=off;
    }

1 个答案:

答案 0 :(得分:2)

如果您使用http://localhost:8081/nexus访问该服务,那么它将起作用。

您当前的配置正在使用proxy_pass将URI /nexus更改为/nexus/。通常,建议在/location URI上都没有尾随的proxy_pass,或者在这两个URI上都没有。

例如:

location /nexus {
    proxy_pass http://localhost:8081/nexus;
    ...
}

实际上,您根本不需要修改URI,因此可以将其从proxy_pass指令中完全删除。

以下内容应等效,但效率更高:

location /nexus {
    proxy_pass http://localhost:8081;
    ...
}

默认情况下,Host标头设置为proxy_pass指令的值(即locatlhost:8081),已知该指令可以正常工作。您可能会发现您的声明proxy_set_header Host $host:$server_port;是不必要的。

有关详细信息,请参见this document