Taa*_*sem 5 reverse-proxy nginx 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;
}
Run Code Online (Sandbox Code Playgroud)
如果您使用 访问该服务http://localhost:8081/nexus
,则它可以工作。
您当前的配置proxy_pass
用于将 URI 更改/nexus
为/nexus/
. 通常,建议/
在location
和proxy_pass
URI上都带有尾随,或者两者都不带有尾随。
例如:
location /nexus {
proxy_pass http://localhost:8081/nexus;
...
}
Run Code Online (Sandbox Code Playgroud)
事实上,您根本不需要修改 URI,因此您可以将其从proxy_pass
指令中完全删除。
以下应该是等效的,但更有效:
location /nexus {
proxy_pass http://localhost:8081;
...
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,Host
标头设置为proxy_pass
指令的值(即locatlhost:8081
),已知它可以正常工作。您可能会发现您的声明proxy_set_header Host $host:$server_port;
是不必要的。
有关详细信息,请参阅此文档。
归档时间: |
|
查看次数: |
3103 次 |
最近记录: |