2011-12-22 17 views
5

I nostri sviluppatori utilizzano HTTP, prod utilizza HTTPS, questo sta causando problemi che non possiamo riprodurre localmente con HTTPS.Come si eseguono Rails con HTTP localmente per il test?

Come è possibile eseguire i binari con SSL in locale a scopo di test? Esiste una configurazione di Webrick?

Grazie

+0

Vorrei controllare http://stackoverflow.com/questions/2118685/how-do-you-handle-ssl-in-development –

risposta

11

si dovrebbe utilizzare sottile per farlo:

$ sudo apt-get install thin 

E aggiungere questa riga in config/application.rb

config.force_ssl = true 

Poi gestita app sul sottile con riga di comando:

$ thin start --ssl 
-15

In definitiva, si dovrebbe essere in esecuzione di sviluppo senza SSL, punto. A meno che qualcosa non funzioni con il certificato SSL, non dovresti avere errori indipendenti dai diversi ambienti.

Lo staging è il punto in cui testare il framework SSL.

+1

E se ciò che state testando dipende in realtà da HTTPS? Ad esempio, il mio sito ha un flusso diverso se si fa clic su "login" quando si è su http o https. Quindi, in realtà, ha molto senso voler eseguire l'app in HTTPS localmente. –

+3

Ci sono assolutamente validi motivi per provare a eseguire SSL localmente. Il caso d'uso dei PO è un esempio perfetto. – Jasim

1

Penso che la domanda qui sia specifica per il test di Rails ing 'ambiente, il che potrebbe significare RSpec, e se è così, questo succo da jaikoo era ciò che ha funzionato per me:

https://gist.github.com/jaikoo/daf88024b8de1cf9339b

Per quanto riguarda il 'sviluppo' ambiente, in ultima analisi, ho usato sottile, che io didn' t vuole veramente, ma la migliore write-up di quello che ho visto era questo post da Keyur Gohil:

https://blog.botreetechnologies.com/enable-ssl-in-developement-using-thin-2a4bd1af500d

Anche se l'ho messo in un file batch e ha aggiunto -D -V e fatto in modo ha funzionato su una porta diversa:

#! 
# Sets up the use of SSL in development 
# 
# https://www.devmynd.com/blog/rails-local-development-https-using-self-signed-ssl-certificate/ 
# 
bundle exec thin -D -V start -a localhost -p 3001 --ssl --ssl-key-file ~/development/apps/localhost_ssl_tsl_keys/localhost.key --ssl-cert-file ~/development/apps/localhost_ssl_tsl_keys/localhost.crt 
Problemi correlati