0
所以,在我的一些數據庫記錄中,有一個對象,「內容」有一個正文,就像文檔一樣。有時候,該機構的URL指向我的應用服務器上的圖像。這些URL中的很多都是HTTP。Ruby on Rails 2.3.8:有沒有辦法總是轉發到https版本的url?
有沒有辦法將所有HTTP請求重定向到HTTPS?
我用Rails 2.3.8
和回形針寶石
所以,在我的一些數據庫記錄中,有一個對象,「內容」有一個正文,就像文檔一樣。有時候,該機構的URL指向我的應用服務器上的圖像。這些URL中的很多都是HTTP。Ruby on Rails 2.3.8:有沒有辦法總是轉發到https版本的url?
有沒有辦法將所有HTTP請求重定向到HTTPS?
我用Rails 2.3.8
和回形針寶石
因爲一些瀏覽器中查看一個HTTPS頁面時的安全設置將阻止HTTP資產,你不希望在web服務器來做到這一點(例如mod_rewrite)級別,因爲某些瀏覽器不會那麼遠。
您不想在視圖或控制器級別處理此問題 - 該模型是您執行業務規則的地方,例如保留所有HTTPS。
被保存
class Content < ActiveRecord::Base
...
before_validation :force_https
def force_https
unless body.nil?
self.body.gsub! /http:\/\/my\.app\.server/, 'https://my.app.server'
end
end
...
end
2 1)防止HTTP鏈接)清理現有內容
火了控制檯,並運行此:
Content.all.each do |c|
c.update_attribute 'body',
c.body.gsub(/http:\/\/my\.app\.server/, 'https://my.app.server')
end
所以,你想改變鏈接,存在於http://到https://的內容中? –
種。有超過20K的記錄可能包含http鏈接,只是改變它們會很困難,我認爲......這就是爲什麼我認爲重定向它們可能更容易。也許在控制器級別? idk – DerNalia
這些鏈接指向圖像?如果您使用Apache或Nginx進行託管,則只需將URL更改爲配置即可。或者,您可以執行搜索並替換轉換URL的rake任務 –