0

在AWS OpsWorks上。我正在使用ELB,它具有我的CA的SSL證書。是否需要force_ssl?或者SSL應該終止於負載平衡器?

第一個訪問點始終是負載平衡器(ELB)。 ELB將流量引導到實例。每個實例都有Rails應用程序,Unicorn等的副本。

有一點需要注意。 ELB背後的實例無法直接訪問。

在這一點上,我需要在Rails中使用force_ssl嗎?我聽說在邊界終止SSL(ELB)已經很普遍了。

至於我讀過,force_ssl給出如下:

  1. 自動重定向從HTTP到HTTPS流量。
  2. 將Cookie標記爲安全並增加一些保護措施(即防止MITM攻擊)。

http://api.rubyonrails.org/classes/ActionController/ForceSSL/ClassMethods.html僅指示http進行https重定向。

What does force_ssl do in Rails?第二個答案表明force_ssl不僅僅是重定向。

如果我決定不使用force_ssl,我可以通過編寫Nginx定義來管理重定向。

鑑於此場景,感覺像通過Rails強制SSL是過時的,因爲SSL協商已經在ELB中發生。是否仍然需要force_ssl?有沒有額外的好處?

回答

0

如果您在ELB級別終止您不需要的SSL。 (你想採取http流量,而不是重定向)。

請記住,在這種情況下,ELB和您的後端實例之間的流量將通過HTTP(即未加密)。這在大多數情況下都很好。