您现在的位置是:首页 > 电脑学习教程 > 其他平台 > 文章正文 其他平台

Nginx代理无法访问Nexus怎么解决

2022-06-08 10:27:14 其他平台

简介通过域名访问Nexus主页,主页html可以正常加载,但是静态资源加载超时,原因是静态资源的请求地址是内网ip。通过ip+端口或域名+端口的方式...

通过域名访问Nexus主页,主页html可以正常加载,但是静态资源加载超时,原因是静态资源的请求地址是内网ip。

通过ip+端口或域名+端口的方式访问是正常的。

nginx和nexus的配置方式

nexus通过docker启动,使用默认8081端口以及默认host。 nginx监听域名,通过服务器内网ip转发到8081端口,配置如下:

server{
listen 80;
server_name nexus.xxx.cn;
location / {
proxy_pass http://192.168.0.182:8081;
}
}

二、原因分析

nexus在接受请求时,会绑定请求者的host,作为后续资源加载的请求地址。 我在nginx中配置的是内网ip的转发,对nexus来说这个host就是内网ip。 后面添加了Host这个请求头之后,相当于告诉nexus此次请求的host是nexus.xxx.cn这个域名。

三、解决方式

在nginx转发是添加Host请求头,配置如下:

server{
listen 80;
server_name nexus.xxx.cn;
location / {
proxy_set_header Host $host;
proxy_pass http://192.168.0.182:8081;
}
}

相关文章

站点信息