2009-09-17 24 views
2

我正在構建一個ejabberd模塊。我需要此模塊對同一LAN(sname)上的另一個節點執行RPC調用。據我所知,ejabberd配置它擁有「cookie」,當然,這與我用於其他節點的cookie不同。ejabberd:有沒有辦法配置一個不同的「cookie」而不是「ejabberd」?

有沒有辦法強制ejabberd使用另一個cookie?

編輯:ejabberd在「ejabberd」用戶名下啓動它的守護進程。

編輯:甚至當創建/home/ejabberd/.erlang.cookie(用戶名:ejabberd,組:ejabberd)與一個適當的cookie它仍然無法正常工作。

編輯:去解決該問題(這是不是很好),一個方法是複製(有相應權限的)預期.erlang.cookie文件到/ var/lib中/ ejabberd

回答

4

的ejabberdctl腳本設置主目錄,以便cookie文件位於/var/lib/ejabberd/.erlang.cookie。 Erlang自己檢查文件的權限,所以它們必須是正確的。

您有幾個選項來強制使用特定的Cookie:

  • 更改文件的內容 - ejabberd不會改變它。
  • 更改ejabberdctl腳本,以便它將-setcookie 'SomeCookieValue'傳遞給erl。
  • 更改ejabberdctl以設置其他主目錄。

如果cookie文件不存在,它將被創建,但如果它存在,它將不會被更改。需要使用通用cookie來構建ejabberd集羣或通過erlang分發與ejabberd集成。

相關問題