Tôi có một ứng dụng đường ray mà tôi đã xây dựng trên Heroku và tôi đã định cấu hình máy chủ để sử dụng SSL ở đó. Bây giờ tôi đang chuyển sang AWS EC2 và tôi muốn nhận một phiên bản ứng dụng của mình hoạt động mà không cần SSL. Khi đã xong, tôi sẽ thêm chức năng SSL sau.Đường ray: Tại sao máy chủ của tôi chuyển hướng http đến https
Ngăn xếp của tôi là Puma + Nginx + PostgreSQL và tôi đang làm việc với Rails 4.2.4, Ruby 2.2.3 và Capistrano 3.4.0.
Tôi nhớ trong ứng dụng của tôi mà tôi đã từng chèn dòng
config.force_ssl = true
trong config/môi trường/production.rb. Tôi đã nhận xét điều này khiến ứng dụng của tôi quay trở lại hoạt động tốt với http. Nhưng nó đã không: ngay cả sau khi bình luận dòng đó, bất cứ khi nào tôi ghé thăm IP công cộng EC2 của tôi (52.35.82.113) yêu cầu được gửi trên cổng 80 (http) và được chuyển hướng đến cổng 443 (https).
Điều này có thể được nhìn thấy rõ ràng hơn khi tôi chạy curl -v http://localhost
trên EC2 của tôi nó sẽ trả về:
* Rebuilt URL to: http://localhost/
* Hostname was NOT found in DNS cache
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 80 (#0)
> GET/HTTP/1.1
> User-Agent: curl/7.35.0
> Host: localhost
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
* Server nginx/1.4.6 (Ubuntu) is not blacklisted
< Server: nginx/1.4.6 (Ubuntu)
< Date: Sat, 12 Dec 2015 12:22:56 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Location: https://localhost/
<
* Connection #0 to host localhost left intact
Tôi không phải là rất có kinh nghiệm khi nói đến công cụ này. Tôi nghĩ ban đầu vấn đề sẽ được với cấu hình Nginx của tôi, trong câu hỏi trước đây của tôi here nó đã được đề nghị với tôi rằng không có gì sai với cấu hình Nginx của tôi và chuyển hướng đến từ Rails. Tôi nghi ngờ đây là trường hợp vì tôi không thể nhìn thấy bất cứ điều gì trong Nginx có thể được thực thi chuyển hướng, nhưng nếu bạn nghĩ rằng vấn đề có thể có thì bạn có thể thấy rất nhiều mã có liên quan trong liên kết ở trên.
Còn gì khác trong Rails ngoài force_ssl được in ở trên có thể gây ra chuyển hướng?
Cảm ơn sự giúp đỡ của mọi người. Hãy cho tôi biết nếu bạn có bất kỳ câu hỏi nào hoặc cần thêm thông tin!
Tôi đoán về cấu hình nginx của bạn, bạn đã thực hiện ssl lực. – Emu
Bạn đã bao giờ khởi động lại máy chủ Puma chưa? – Tobias
Xin chào @Tobias. Có, tôi đang sử dụng 'ps' để tìm id tiến trình và khởi động lại nó bằng' kill -s SIGUSR2 ' –
Dennis