harbor配置nginx代理

同時發佈於schnappi618’s blog
​ 從前面的文章harbor搭建docker私有鏡像倉庫可以看出harbor默認只能使用harbor.yml中hostname指定的ip或主機名作爲web訪問地址,但在實際使用過程中,一般不允許ip地址或者主機名直接暴露在外訪問,故需要配置nginx代理,通過代理後指定的地址進行訪問。


一、設置原理

  • 通過nginx爲harbor後端暴露的地址及端口設置proxy地址,來源於harbor配置文件中的hostname及port
  • 修改harbor配置文件再次使用nginx設置的proxy地址

二、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後指定的名稱
     }
}

三、Harbor設置

​ 通過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

四、Web驗證

​ 通過瀏覽器訪問http://xx.xx.com:port訪問代理後地址,這裏因爲nginx代理後使用了80端口,所以不需要寫明端口。
在這裏插入圖片描述​ ​

​ 至此,harbor配置nginx代理設置成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章