tests test spec run rails how ruby-on-rails testing https

ruby on rails - test - ¿Cómo se prueba HTTPS con Rails script/server?



rspec rails (1)

Necesito probar las conexiones HTTPS a mi instancia de script / servidor de Rails local en el desarrollo que parece no ser compatible y no pude buscar soluciones en Google.

Esto es lo que parece desde la perspectiva del cliente:

ted@teflon-ted ~/Downloads[master]$ grep tedslaptop /etc/hosts 127.0.0.1 api.tedslaptop.com ted@teflon-ted ~/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/000@/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: {} ---


HTTPS es algo que se maneja fuera del marco de Rails. 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 usa Mongrel para atender sus solicitudes. Mongrel no es compatible con SSL / HTTPS directamente.

Si realmente desea probar la funcionalidad HTTPS, debe 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 ).