FROM : https://docs.blockstack.org/storage/hub-operation.html
本頁描述Hub操作員在創(chuàng)建和操作Gaia存儲(chǔ)Hub時(shí)必須考慮的事項(xiàng)。
配置文件
— 需要正確的中心URL
— readURL參數(shù)
— 要求的參數(shù)(已棄用)
開放或私有集線器
— 會(huì)員開放中心
— 私有用戶中心
配置文件
您應(yīng)該在Hub服務(wù)器的頂級目錄中存儲(chǔ)一個(gè)JSON配置文件?;蛘?,您可以使用CONFIG_PATH環(huán)境變量指定文件位置。下面是Amazon S3的一個(gè)配置文件示例:
{
"servername": "localhost",
"port": 4000,
"driver": "aws",
"readURL": "https://YOUR_BUCKET_NAME.s3.amazonaws.com/",
"pageSize": 20,
"bucket": "YOUR_BUCKET_NAME",
"awsCredentials": {
"accessKeyID": "YOUR_ACCESS_KEY",
"secretAccessKey": "YOUR_SECRET_KEY"
},
"argsTransport": {
"level": "debug",
"handleExceptions": true,
"stringify": true,
"timestamp": true,
"colorize": false,
"json": true
}
}
您可以指定日志級別、后端驅(qū)動(dòng)程序、該后端驅(qū)動(dòng)程序的憑據(jù)和中心的readURL。通常,這是云計(jì)算提供程序上的計(jì)算資源的URL—Hub服務(wù)在其中運(yùn)行。
需要正確的中心URL
如果啟用requireCorrectHubUrl選項(xiàng)在config.json中,您的Gaia hub將要求身份驗(yàn)證請求正確地包含它們試圖連接的hubURL。使用此選項(xiàng)可防止惡意的Gaia hub在其他Gaia hub上為自己使用身份驗(yàn)證令牌。
默認(rèn)情況下,Gaia hub將驗(yàn)證所提供的URL是否匹配https://${config.servername} 但如果有多個(gè)有效url供客戶端訪問hub,則可以在config.json中包含一個(gè)列表:
{
....
servername: "normalserver.com"
validHubUrls: [ "https://specialserver.com/",
"https://legacyurl.info" ]
....
}
readURL參數(shù)
默認(rèn)情況下,Hub驅(qū)動(dòng)程序返回直接指向所寫內(nèi)容的讀url。例如,S3驅(qū)動(dòng)程序?qū)⒅苯訉RL返回到S3文件。如果將CDN或域配置為指向同一個(gè)bucket,則可以使用readURL參數(shù)告訴hub可以從給定URL讀取文件。例如,hub.blockstack.org Gaia Hub被配置為返回一個(gè)讀取URL,看起來像https://gaia.blockstack.org/hub/。
如果不打算部署任何緩存,請取消設(shè)置readURL參數(shù)。
要求的參數(shù)(已棄用)
過去的用戶可以將此設(shè)置配置為一個(gè)粗略的垃圾郵件控制機(jī)制。然而,為了使您的Gaia Hub的操作更加順暢,請?jiān)O(shè)置proofsConfig。proofsRequired值為0。
開放或私有集線器
您可以配置開放成員存儲(chǔ)中心或私有存儲(chǔ)中心。聽起來,開放成員中心允許任何用戶使用中心服務(wù)。私有Hub限制服務(wù)的使用。在本節(jié)中,您將了解如何配置每種類型。
會(huì)員開放中心
開放成員存儲(chǔ)中心允許對任何地址頂級目錄進(jìn)行寫操作。每個(gè)請求都經(jīng)過驗(yàn)證,以便寫請求必須為該地址提供有效的身份驗(yàn)證令牌。對于希望支持許多不同用戶的服務(wù)和標(biāo)識(shí)提供者,建議使用這種模式。
Private-user Hub
私有用戶Hub接收單個(gè)用戶的請求。請求是通過將允許寫入文件的地址白名單來控制的?;叵胍幌?,每個(gè)應(yīng)用程序使用不同的應(yīng)用程序和特定于用戶的地址。接下來,為了支持應(yīng)用程序存儲(chǔ),您的配置必須添加到您希望使用的每個(gè)應(yīng)用程序的白名單中。
或者,用戶的客戶端可以使用身份驗(yàn)證方案為每個(gè)應(yīng)用程序生成關(guān)聯(lián)令牌。用戶應(yīng)該將其地址白名單,并使用其關(guān)聯(lián)的私鑰為每個(gè)應(yīng)用程序的關(guān)聯(lián)令牌簽名。這消除了白名單每個(gè)應(yīng)用程序的需要,但需要注意的是,用戶需要注意她的關(guān)聯(lián)令牌不會(huì)被濫用。