我有一個用Rails編寫的應用程序,由於受到客戶端政府的限制,必須將其運行在IIS服務器後面。我們必須有SSL認證。因此,在我搜索Google的幾個小時內,我無法弄清楚如何讓IIS將客戶端證書傳遞到rails服務器(瘦)。IIS將客戶端證書傳遞給rails
我已經看到了使用上的Apache教程:
SSLOptions +ExportCertData
,然後將其提供給請求對象。任何想法如何配置IIS做同樣的事情?
我有一個用Rails編寫的應用程序,由於受到客戶端政府的限制,必須將其運行在IIS服務器後面。我們必須有SSL認證。因此,在我搜索Google的幾個小時內,我無法弄清楚如何讓IIS將客戶端證書傳遞到rails服務器(瘦)。IIS將客戶端證書傳遞給rails
我已經看到了使用上的Apache教程:
SSLOptions +ExportCertData
,然後將其提供給請求對象。任何想法如何配置IIS做同樣的事情?
被告知這可能是不可能的。我終於明白了!這是我採取的步驟。
變量的散列包括:
如果canno找到可能需要安裝模塊的東西(用於類似身份驗證)。我不記得我安裝了哪些。
至少以您提出的問題IIS不能提供客戶端證書的問題,因爲客戶端證書將由第三方發佈。因此,您需要獲得x509證書,證明您的應用程序,然後將證書作爲iis的初始連接請求的一部分進行身份驗證。
至於從服務器向客戶端提供ssl證書的apache函數,iis不公開此功能。
這就是爲什麼你無法找到任何關於谷歌
主要的原因公司要運行Rails(或者其他)應用的IIS服務器的背後是SSO除了從保護資源。
看看這是否有幫助。
我們一直在IIS後面的很多客戶位置運行我們的Rails應用程序。我們在Tomcat中的JRuby中運行我們的Rails應用程序。
安裝JK ISAPI重定向器插件的步驟在這裏
http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html
所有Rails的上下文是使用標準的IIS的身份驗證方案在IIS保護,集成Windows身份驗證(協商,NTLM)。
在Rails應用程序中,可以獲取登錄用戶的信息。
request.env['java.servlet_request'].get_remote_user
Rails應用程序也連接到微軟AD像電子郵件,部門等其他用戶信息,
由於Rails的是盲目信任的authenticaiton它需要從直接存取防止IIS服務器。
1. Disable HTTP ports in Tomcat
2. Enable only the AJP port
3. Add an IP restriction so that it accepts connection only from the IIS server(s)
== 我不認爲這是可能的IIS對證書的詳細經過。我們嘗試提取Kerboros令牌(用於kerboros身份驗證委派)並沒有取得太大的成功,並意識到這是不可能的。
這假定你可以修改IIS配置是否正確?如果這不可能? –
正確。需要在IIS中添加一個Web應用程序。由於IIS是流量網關,因此需要知道它背後的內容......需要對其進行配置。這表示不需要觸摸現有的網絡應用程序。 –
感謝您的回答。這個問題的最大問題是我們必須讓政府批准我們在IIS上使用的所有內容。所以每個需要的東西都很難。 –
客戶端證書是由政府自己頒發的。出於測試目的,我們已經生成了證書。 –
我認爲你需要手動訪問te證書請參閱http://stackoverflow.com/questions/7982421/using-client-ssl-in-a-ruby-on-rails-app –