我正試圖在Amazon EC2上實現基本的洋蔥路由服務。 我的網絡背後的基本概念如下:我有一個目錄節點,鏈節點和發起者(客戶端)。鏈節點向目錄節點註冊,從而確定流量的路由。AWS傳入請求的來源(IP)
當我在本地機器上運行它時,一切正常。當我從單獨的EC2實例運行每個組件時,它不起作用。這是因爲目錄節點沒有看到鏈節點的「真實」位置,所以當它們註冊時,它認爲它們有其他IP。當註冊我的機器上運行的鏈節點時,我注意到這種行爲,目錄節點在EC2實例上運行。目錄節點將註冊請求視爲來自亞馬遜網絡。節點彼此通信的方式是通過REST。目錄節點從請求頭中獲取鏈節點的地址,這似乎始終指向AWS網絡中的某個位置,而不是指向請求的真正來源。
我是新來的雲計算,這是我與AWS的第一次互動。爲了盡我所能,我無法在網上找到我的問題的答案,所以我決定在這裏問。也許值得一提的是,我的確瞭解了彈性IP,但據我瞭解,它們是一種「靜態」IP,用於實現這些實例。這不會對我有所幫助,因爲鏈節點最終應該根據活動節點的數量最終在其自己的VM中動態生成。在這種情況下,目錄節點將不知道新鏈節點的IP,無論它是否彈性。
對我有什麼建議嗎? 在此先感謝!
爲什麼你不能在請求頭中使用IP來進行通信? – helloV
由於以下情形:目錄節點位於EC2上。鏈節點在我的PC上並嘗試註冊。目錄節點會看到以下內容:收到的註冊請求來自:,而不是<我的本地計算機的IP>。然後,當它試圖告訴該節點必須路由一段流量時,它會嘗試與對話,並且鏈節點不知道它必須執行任何操作,因爲它位於本地計算機的 。 –
Syn
PC上的軟件如何到達EC2上的目錄節點?什麼是您的網絡配置? –