2011-12-22 34 views
5

Envs dev của chúng tôi sử dụng HTTP, prod sử dụng HTTPS, điều này gây ra các vấn đề mà chúng tôi không thể sao chép cục bộ với HTTPS liên quan.Làm thế nào để bạn chạy Rails với HTTP cục bộ để thử nghiệm?

Làm cách nào để chạy đường ray bằng SSL cục bộ cho mục đích thử nghiệm? Có cấu hình Webrick không?

Cảm ơn

+0

Tôi sẽ thanh toán http://stackoverflow.com/questions/2118685/how-do-you-handle-ssl-in-development –

Trả lời

11

bạn nên sử dụng mỏng để làm điều đó:

$ sudo apt-get install thin 

Và thêm dòng này trong config/application.rb

config.force_ssl = true 

Sau đó chạy ứng dụng trên mỏng với dòng lệnh:

$ thin start --ssl 
-15

Cuối cùng, bạn nên chạy phát triển không có SSL, khoảng thời gian. Trừ khi có sự cố với SSL Cert của bạn, bạn không nên có lỗi độc lập với các môi trường khác nhau.

Dàn dựng là nơi bạn sẽ kiểm tra khung SSL.

+1

Và điều gì sẽ xảy ra nếu những gì bạn đang thử nghiệm thực sự phụ thuộc vào HTTPS? Ví dụ: trang web của tôi có luồng khác nếu bạn nhấp vào "đăng nhập" khi bạn đang sử dụng http hoặc https. Vì vậy, nó thực sự làm cho rất nhiều ý nghĩa để muốn chạy ứng dụng của bạn trong HTTPS cục bộ. –

+3

Có lý do hoàn toàn hợp lệ để thử chạy SSL cục bộ. Trường hợp sử dụng OP là một ví dụ hoàn hảo. – Jasim

1

Tôi nghĩ câu hỏi ở đây là cụ thể cho bài kiểm tra của Rails ing 'môi trường, trong đó có thể có nghĩa rspec, và nếu như vậy, ý chính này bằng cách jaikoo là những gì làm việc cho tôi:

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

Đối với những người 'phát triển' môi trường, cuối cùng tôi đã sử dụng mỏng, mà tôi didn' t thực sự muốn, nhưng tốt nhất ghi-up của tôi cưa là bài này bằng cách KEYUR Gohil:

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

Mặc dù tôi đặt nó trong một tập tin thực thi và bổ sung -D -V và chắc chắn nó chạy trên một cổng khác:

#! 
# 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 
Các vấn đề liên quan