ruby-on-rails - rails - thoughtbot github
¿Es posible configurar Paperclip para producir urls HTTPS? (2)
Estoy usando Paperclip para administrar las imágenes subidas por el usuario en un sitio que se sirve completamente en HTTPS. Para evitar las tontas advertencias de seguridad en IE7 / IE8, también debo publicar estas imágenes a través de SSL. Normalmente renderizo mis imágenes usando algo como lo siguiente:
<%= image_tag @product.image.url(:large) %>
dónde
class Product < ActiveRecord::Base
has_attached_file :image,
:styles => {
:large => {:geometry => "616x450#"}
},
:storage => :s3,
:s3_credentials => {:access_key_id => "xxx", :secret_access_key => "xxx"},
:path => ":attachment/:id/:style/:basename.:extension",
:bucket => CONFIG[''s3_media_bucket''],
:default_url => "/assets/image_missing.png"
y la imagen URL producida es algo así como:
http://s3.amazonaws.com/media.example.com/images/6/large/image123.JPG
¿Hay una opción mágica Paperclip para cambiar esto a:
https://s3.amazonaws.com/media.example.com/images/6/large/image123.JPG
Para actualizar su código solo diga, agregue: s3_protocol de la siguiente manera:
class Product < ActiveRecord::Base
has_attached_file :image,
:styles => {
:large => {:geometry => "616x450#"}
},
:storage => :s3,
:s3_credentials => {:access_key_id => "xxx", :secret_access_key => "xxx"},
:s3_protocol => :https,
:path => ":attachment/:id/:style/:basename.:extension",
:bucket => CONFIG[''s3_media_bucket''],
:default_url => "/assets/image_missing.png"
Simplemente necesita agregar:
:s3_protocol => :https
Esto está cubierto en la documentación .
Hay algunas opciones específicas de S3 para has_attached_file:
...
s3_protocol
: el protocolo para las URL generadas a sus activos S3. Puede ser ''http'' o ''https''. El valor predeterminado es ''http'' cuando sus: s3_permissions son: public_read (el valor predeterminado) y ''https'' cuando su: s3_permissions es cualquier otra cosa.