c2f268026d
Fixing the two warnings listed bellow: - DEPRECATION WARNING: env is deprecated and will be removed from Rails 5.1 - DEPRECATION WARNING: `render :text` is deprecated because it does not actually render a `text/plain` response. Switch to `render plain: 'plain text'` to render as `text/plain`, `render html: '<strong>HTML</strong>'` to render as `text/html`, or `render body: 'raw'` to match the deprecated behavior and render with the default Content-Type, which is `text/plain`. |
||
---|---|---|
lib | ||
.document | ||
.gitignore | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
README.md | ||
Rakefile | ||
VERSION | ||
rails-reverse-proxy.gemspec |
README.md
rails-reverse-proxy
Gives you the ability to reverse proxy within Rails.
Installation
You know the drill. In your Gemfile, have the line
gem 'rails-reverse-proxy'
Then (you guessed it!)
$ bundle
Usage
An example usage of this gem is hosting a WordPress site on a path within your Rails application, such as /blog
. To do this, you'll need something like
class WordpressController < ApplicationController
include ReverseProxy::Controller
def index
# Assuming the WordPress server is being hosted on port 8080
reverse_proxy "http://localhost:8080" do |config|
# We got a 404!
config.on_missing do |code, response|
redirect_to root_url and return
end
# There's also other callbacks:
# - on_set_cookies
# - on_response
# - on_set_cookies
# - on_success
# - on_redirect
# - on_missing
# - on_error
# - on_complete
end
end
end
Then in your routes.rb
file, you should have something like
match 'blog/*path' => 'wordpress#index', via: [:get, :post, :put, :patch, :delete]
You can also pass options into reverse_proxy
reverse_proxy "http://localhost:8000", path: "custom-path", headers: { 'X-Foo' => "Bar" }
If you'd like to bypass SSL verification
reverse_proxy "http://localhost:8000", verify_ssl: false
Use this method to determine what version you're running
ReverseProxy.version
Feel free to open an issue!
Contributing
All pull requests will become first class citizens.
Thanks
Special thanks to our contributors!
Copyright
Copyright (c) 2016 James Hu. See LICENSE for further details.