Cpolar內網穿透提供了更高的安全性和隱私保護,透過使用加密通訊通道,Cpolar技術可以確保資料傳輸的安全性,這為使用者和團隊提供了更可靠的保護,使他們能夠放心地處理和儲存敏感的工作內容。
下面介紹本地MinIO 儲存服務透過Java程式結合Cpolar內網穿透進行遠端連線,檔案上傳,如需安裝MinIO,請參考這個教程:
1. 建立Buckets和Access Keys
開啟minio管理介面,點選buckets介面,建立一個buckets,buckets 概念翻譯過來是桶的意思,建立一個桶,把檔案放入這個桶裡面進行分組管理.
輸入buckets名稱,點選建立
建立好buckets後,還需要建立一個連線時候的秘鑰,開啟Access Keys介面,點選建立access key
點選建立後,會生成access key 和secret key ,繼續點選create建立
然後可以看到提示這兩個需要記住,連線的時候需要用到(可以複製出來),然後關閉視窗即可,建立完成這兩個後,接下來安裝cpolar工具,透過cpolar生成的公網地址,我們很容易實現遠端連線
2. Linux 安裝Cpolar
上面建立連線需要的引數後,下面我們在Linux安裝cpolar內網穿透工具,透過cpolar 轉發本地埠對映的公網地址,我們可以很容易實現遠端訪問,而無需自己註冊域名購買雲伺服器.下面是安裝cpolar步驟
cpolar官網地址: https://i.cpolar.com/m/56Ju
-
使用一鍵指令碼安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
-
向系統新增服務
sudo systemctl enable cpolar
-
啟動cpolar服務
sudo systemctl start cpolar
cpolar安裝成功後,在外部瀏覽器上訪問Linux 的9200埠即:【http://區域網ip:9200】,使用cpolar賬號登入,登入後即可看到cpolar web 配置介面,結下來在web 管理介面配置即可
3. 建立連線MinIO服務公網地址
登入cpolar web UI管理介面後,點選左側儀表盤的隧道管理——建立隧道:
-
隧道名稱:可自定義,注意不要與已有的隧道名稱重複
-
協議:tcp
-
本地地址:9000 (本地預設埠)
-
域名型別:臨時隨機TCP埠
-
地區:選擇China VIP
點選建立
然後開啟左側線上隧道列表,檢視剛剛建立隧道後生成的tcp地址,這個地址就是公網連線地址,我們可以在任意程式上使用該地址進行連線,下面進行遠端連線上傳檔案測試
4. 遠端呼叫MinIO服務
根據官方demo,以Java 為例,匯入相關包,第一個是minio包,第二個是為了防止提示okhttp版本異常,所以也匯入進去
<!--minio 物件儲存包-->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.7</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.10.0</version>
</dependency>
然後使用Cpolar 公網地址進行連線,設定建立的公網地址和對應的埠,再設定accessKey和secretKey,指定bucket,填寫需要上傳檔案的路徑,執行,無報錯表示成功
try {
// Create a minioClient with the MinIO server playground, its access key and secret key.
MinioClient minioClient =
MinioClient.builder()
//.endpoint("192.168.206.128",9000,false)//區域網
.endpoint("1.tcp.cpolar.cn",20380,false)//Cpolar 公網地址
.credentials("DeEZ0sdWvHHaqKJHBCu0", "m49wRlhHIFio79D8bTP1l9YTgbVJX55s59wB3BUC")
.build();
// Upload '/home/user/Photos/asiaphotos.zip' as object name 'asiaphotos-2015.zip' to bucket
// 'asiatrip'.
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket("helloworld")
.object("cpolar-stable-windows-amd64-setup.zip")
.filename("E:/download/cpolar-stable-windows-amd64-setup.zip")
.build());
System.out.println("successfully uploade!!!");
} catch (Exception e) {
System.out.println("Error occurred: " + e);
}
執行完成後,開啟minio管理介面,進入Object Browser,然後點選helloworld,我們建立的bucket,即可看到上傳的檔案,這樣就表示成功了,當然,這邊測試,地址是寫在內部,如生產環境,建議將地址進行外部配置,有助於方便後續修改,具體更多操作方式,可以參考官方文件
小結
為了更好地演示,我們在前述過程中使用了Cpolar生成的隧道,其公網地址是隨機生成的。
這種隨機地址的優勢在於建立速度快,可以立即使用。然而,它的缺點是網址是隨機生成,這個地址在24小時內會發生隨機變化,更適合於臨時使用。
我一般會使用固定TCP域名,原因是我希望將地址傳送給同事或客戶時,它是一個固定、易記的公網地址,這樣更顯正式,便於流交協作。
5. 固定連線TCP公網地址
要注意的是,以上步驟使用的是隨機臨時tcp埠地址,所生成的公網地址為隨機臨時地址,該公網地址24小時內會隨機變化。我們接下來為其配置固定的TCP埠地址,該地址不會變化,設定後將無需每天重複修改地址。
配置固定tcp埠地址需要將cpolar升級到專業版套餐或以上。
保留一個固定tcp地址,登入
-
地區:選擇China
-
描述:即備註,可自定義
點選保留
地址保留成功後,系統會生成相應的固定公網地址,將其複製下來
開啟cpolar web ui管理介面,點選左側儀表盤的隧道管理——隧道列表,找到我們上面建立的TCP隧道,點選右側的編輯
修改隧道資訊,將保留成功的固定tcp地址配置到隧道中
-
埠型別:修改為固定tcp埠
-
預留的tcp地址:填寫官網保留成功的地址,
點選更新
隧道更新成功後,點選左側儀表盤的狀態——線上隧道列表,可以看到公網地址已經更新成為了固定TCP地址。
6. 固定地址連線測試
固定好了地址後,程式中修改成我們固定的TCP地址進行連線,當然,這邊測試,地址是寫在內部,如生產環境,建議將地址進行外部配置,有助於方便後續修改
執行後,等待上傳完成,然後再次開啟我們管理介面,可以看到檔案上傳成功,這樣一個固定公網地址就設定好了.