赞
踩
同时发布于schnappi618’s blog
从前面的文章harbor搭建docker私有镜像仓库可以看出harbor默认只能使用harbor.yml
中hostname指定的ip或主机名作为web访问地址,但在实际使用过程中,一般不允许ip地址或者主机名直接暴露在外访问,故需要配置nginx代理,通过代理后指定的地址进行访问。
通过修改nginx的配置文件中server模块设置代理地址以及端口等信息,若harbor与nginx不在同一个服务器上或harbor不止一个服务器,还需要通过nginx的upstream模块来实现请求后端realserver及负载均衡,nginx配置文件修改处示例如下:
## 设置upstream
upstream harbor{
server x.x.x.x:xx; # 后端harbor地址
}
## 设置代理后地址及监听端口等
server {
listen 80; # 代理后端口
server_name xx.xx.com; # 代理后访问地址
location /harbor {
proxy_pass http://harbor; # 这里对应的是上面upstream后指定的名称
}
}
通过nginx配置了代理之后,还需要修改harbor的配置文件设置proxy地址:
[root@xxxx harbor]# vim harbor.yml
# Uncomment external_url if you want to enable external proxy
# And when it enabled the hostname will no longer used
## 打开该项配置,这里对应着nginx所设置的代理后访问地址
external_url: http://xx.xx.com
通过浏览器访问http://xx.xx.com:port
访问代理后地址,这里因为nginx代理后使用了80端口,所以不需要写明端口。
至此,harbor配置nginx代理设置成功!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。