rproxy
rproxy copied to clipboard
a twisted-based reverse proxy
=========================================== Rproxy - twisted based reverse proxy
1.Introduction 2.Install 3.Configuration 4.About
1.Introduction
The rproxy is a open-source twisted based enhanced reverse proxy that does a lot more than what traditional reverse proxies do:
* Content Replacing: traditional proxies doesn't work when pages are using ABSOLUTE urls, you will end up with visiting the pages directly rather than through reverse proxy. rproxy has content replacing options that can solve this problem for you.
* Global reverse proxy: traditional reverse proxies can only serve the links you are currently visiting, however when the page contains other links that you want to visit through reverse proxy, the only thing you can do is set up another reverse proxy and visit it manually. rproxy can make your reverse proxy "global" so that it will automatically "translate" the links.
* Easy to set up: traditional reverse proxies, such as nginx, squid, though very powerful, is hard to set up, whereas rproxy has very simple and clear web interfaces and self-explained conf files to set up
2.Install
1.1 install git-core,twisted,mako,python-openssl,bitstring
apt-get install git-core python-openssl python-setuptools python-dev
easy_install bitstring twisted mako
1.2 download source code
cd /var/www; git clone git://github.com/observerss/rproxy.git
3.Config&Run
- pure rproxy
cd /var/www/rproxy; vi src/rproxy.py
Change PORT->8484,DOMAIN->"yourdomain:8484"
twistd -y src/rproxy.py
Visit yourdomain:8484, make configuration
- rproxy+nginx
vi src/rproxy.py
Change DOMAIN->"yourdomain" Change PORT->8484
apt-get install nginx
vi /etc/nginx/sites-enabled/rproxy
server { listen 80; server_name yourdomain *.yourdomain; root /var/www/rproxy; location / { proxy_pass http://127.0.0.1:8484/; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
nginx -s reload
cd /var/www/rproxy; twistd -y rproxy.py
Visit yourdomain, make configurations
4.About
rproxy uses LGPLv3 License, see LICENSE
Author: observer Blog: obmem.info Email: jingchaohu AT gmail.com