Amazon-Ec2

從外部 IP 地址訪問時,chef-server-webui 會話不起作用

  • August 8, 2014

我已經chef-server使用該版本的官方.deb軟體包安裝在 Ubuntu 12.10 系統上。安裝完成後我執行

chef-server-ctl test

其中報告成功,0失敗。

伺服器 - 一個 Amazon EC2 實例 - 有 1 個網路介面,它有一個分配給它的內部地址。假設 IP 地址是10.223.92.58hostname -f返回如下內容:

ip-10-223-92-58.eu-west-1.compute.internal

但是,AWS EC2 允許使用53.242.31.23或 DNS從 Internet 訪問伺服器ec2-53-242-31-23.eu-west-1.compute.amazonaws.com

為了允許通過公共 DNS 名稱進行訪問,我將以下幾行添加到/etc/chef-server/chef-server.rb

lb[:enable] = "false"
lb[:web_ui_fqdn] = "ec2-53-242-31-23.eu-west-1.compute.amazonaws.com"

nginx[:server_name] = "ec2-53-242-31-23.eu-west-1.compute.amazonaws.com"
nginx[:url] = "https://ec2-53-242-31-23.eu-west-1.compute.amazonaws.com"
nginx[:enable_non_ssl] = "true"

我可以使用訪問伺服器https://ec2-53-242-31-23.eu-west-1.compute.amazonaws.com並到達登錄頁面。然後登錄頁面將我(成功登錄後)重定向到使用者編輯頁面,以更改我的密碼。(這是設計使然)。

問題:

重定向到使用者編輯頁面將不起作用,因為使用者控制器(或每個其他控制器)將抱怨不存在的會話並一次又一次地將我重定向到登錄頁面。如果我嘗試從其本地 DNS 域名或 IP 訪問該頁面,則該問題不存在。我是否缺少一些配置值?

我在 Azure 上使用 Chef,但我相信我已經找到了正確的設置。

@hek2mgl 非常接近,但是每次重新配置時都會覆蓋他的方法,我認為這不實用。

在 /etc/chef-server/chef-server.rb 文件中,添加以下行:

chef_server_webui['cookie_domain'] = 'FQDN'

其中“FQDN”是您的完全限定域名“myserver.mydomain.net”等。

保存此文件後, $ sudo chef-server-ctl reconfigure

完成後,如果您向上滾動一點,在“Recipe: chef-server::default”下,您會看到它載入了您的設置:

...
"session_key": "_sandbox_session",
"cookie_domain": "all",
"cookie_domain": "myserver.mydomain.net",
...

現在使用 myserver.mydomain.net 導航到 WebUI 允許您登錄。

引用自:https://serverfault.com/questions/557250