2009-01-16 7 views
9

Necesito probar las conexiones HTTPS a mi instancia local de script/servidor Rails en desarrollo, parece que no es compatible y no pude buscar ninguna solución en Google.¿Cómo se prueba HTTPS con Rails script/server?

Esto es lo que se ve desde la perspectiva del cliente:

 
[email protected] ~/Downloads[master]$ grep tedslaptop /etc/hosts 
127.0.0.1 api.tedslaptop.com 
[email protected] ~/Downloads[master]$ /usr/bin/curl https://api.tedslaptop.com:3000/ 
curl: (35) Unknown SSL protocol error in connection to api.tedslaptop.com:3000 

Y esto es lo que veo en el servidor:

 
$ script/server 
=> Booting Mongrel (use 'script/server webrick' to force WEBrick) 
=> Rails 2.2.2 application starting on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
** Starting Mongrel listening at 0.0.0.0:3000 
** Starting Rails with development environment... 
** Rails loaded. 
** Loading any Rails specific GemPlugins 
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart). 
** Rails signals registered. HUP => reload (without restart). It might not work well. 
** Mongrel 1.1.5 available at 0.0.0.0:3000 
** Use CTRL-C to stop. 
Fri Jan 16 13:06:50 -0500 2009: HTTP parse error, malformed request (127.0.0.1): # 
Fri Jan 16 13:06:50 -0500 2009: REQUEST DATA: "\200d\001\003\001\000K\000\000\000\020\000\0009\000\0008\000\0005\000\000\026\000\000\023\000\000\n\a\000?\0003\000\0002\000\000/\003\000\200\000\000\005\000\000\004\001\000\200\000\000\025\000\000\022\000\000\t\006\[email protected]\000\000\024\000\000\021\000\000\b\000\000\006\004\000\200\000\000\003\002\000\200xa\377\\?wEM??/\235F\020\232" 
--- 
PARAMS: {} 
--- 
+0

use apache y mod_rewrite –

+0

Cree un certificado autofirmado. http://www.flatmtn.com/article/setting-ssl-certificates-apache – dangerousdave

Respuesta

14

HTTPS es algo que se maneja fuera del marco rieles. Por lo tanto, no puedes probarlo directamente. La funcionalidad que proporciona su aplicación Rails debe ser exactamente igual en HTTPS que en HTTP no cifrado.

script/server utiliza Mongrel para atender sus solicitudes. Mongrel no es compatible con SSL/HTTPS directamente.

Si realmente desea probar la funcionalidad de HTTPS, es necesario configurar Apache (u otro servidor web) con soporte SSL/HTTPS (usando mod_ssl), y configurarlo para ejecutar su aplicación Rails (usando mod_rails o mod_proxy).

Cuestiones relacionadas