2012-07-06 33 views
6

Tôi có ứng dụng đường ray chạy trên heroku tại, ví dụ: myapp.herokuapp.com.Thêm proxy ngược vào heroku

Bây giờ tôi muốn đảo ngược proxy myapp.heroku.com/proxy/-somewhereelse.com/ (tức là: myapp.heroku.com/proxy/stuff được ngược proxifed để somewhereelse.com/stuff) Là có thể trên Heroku? Làm thế nào để đạt được điều này?

Trả lời

6

Đối với bất kỳ ai đến câu hỏi này thông qua tìm kiếm, điều này có thể được thực hiện.

Khám phá https://github.com/ryandotsmith/nginx-buildpack cho nhà cung cấp nginx vào trường hợp heroku của bạn. Điều này sẽ đặt nginx ở phía trước ứng dụng đường ray của bạn và cho phép bạn đảo ngược các yêu cầu proxy trên miền này, nhờ ứng dụng heroku của bạn được định cấu hình làm đỉnh và cho phép somewhereelse.com/stuff đi nơi khác.

+0

Cảm ơn. Cách rất tuyệt vời để sử dụng heroku. –

0

Bạn không có quyền truy cập vào cơ sở hạ tầng định tuyến giao diện người dùng để không thể thêm một cái gì đó như nginx dựa trên proxy ngược hoặc modproxy của apache. Từ sự hiểu biết của tôi quá, bạn chỉ có thể liên kết với một cổng ($ PORT) trong dyno để không thể đổ bóng ứng dụng Rails của bạn với phiên bản nginx của riêng bạn (trừ khi có thể giao tiếp qua một socket không TCP/IP giữa nginx và ứng dụng rack/ray của bạn, nếu đây là trường hợp thì có lẽ bạn có thể nhận được rack để nghe /tmp/mysocket.git và nginx để đảo ngược proxy về điều này, điều này có thể là một khởi động không có mặc dù, Im chỉ ném ra ý tưởng) .

Điều đó có nghĩa là tùy chọn có thể xảy ra nếu bạn phải tự mình xử lý ứng dụng này, tôi chỉ có một chút rails/ruby ​​kinh nghiệm, nhưng nếu không có chức năng proxy trong đường ray thì bạn có thể chấp nhận rõ ràng và sau đó sử dụng ứng dụng khách http để gọi các phần khác.

Các vấn đề liên quan