從外部 IP 地址訪問時,chef-server-webui 會話不起作用
我已經
chef-server
使用該版本的官方.deb
軟體包安裝在 Ubuntu 12.10 系統上。安裝完成後我執行chef-server-ctl test
其中報告成功,
0
失敗。伺服器 - 一個 Amazon EC2 實例 - 有 1 個網路介面,它有一個分配給它的內部地址。假設 IP 地址是
10.223.92.58
並hostname -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 允許您登錄。