2016-07-22 45 views
1

SnappyData v.0.5連接到AWS需要一個雙贏主機文件更改

在我們AWS SnappyData情況下,我們有以下屬性:

  1. 公共IP:52.xxx(暴露在互聯網)
  2. 私有/內部IP:172.xxx(只露出裏面AWS)
  3. 私人/內部名稱 :IP-172的xxx.us - 西2.compute.internal(只露出裏面AWS)

從我的Windows客戶端使用JDBC連接,我使用JDBC URL是這樣的:

JDBC:snappydata://52.xxx:1527/

事件的連接使所述的序列爲:

  1. JDBC客戶機連接到AWS和到達172.xxx:1527
  2. 定位器
  3. 定位器發現服務器在運行172.xxx:somePort
  4. 定位器發送內部主機名回Windows客戶端
  5. 的Windows客戶端JDBC嘗試連接到這一點:

IP-172- xxx.us-west-2.compute.internal

JDBC連接失敗,因爲只有52.xxx IP地址是真正公開的互聯網。

補救的,我不得不改變我的Windows主機文件,添加的映射:

52.x.x.x   ip-172-x-x-x.us-west-2.compute.internal 

請告知一個更好的辦法,所以我的客戶並不需要破解他們的「主人」的文件。

回答

1

您可以在服務器上設置「prefer-netserver-ipaddress」屬性以強制將IP地址發送回客戶端,例如, -prefer-netserver-ipaddress = ...或-J-Dgemfirexd.prefer-netserver-ipaddress = ...在命令行上(請參閱詳細信息here

默認情況下將轉換爲主機名,因爲在大多數情況下這是IP地址,既迎合內部IP和外部(即如果從子網內查找,則它解析爲內部IP地址,但從外部解析爲外部IP地址)。