DigitalOcean Reverse Proxy: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
Line 5: Line 5:
== Prerequisites ==
== Prerequisites ==
# CentOS 7 Droplet with root/sudo access
# CentOS 7 Droplet with root/sudo access
# Apache 2 installed on your CentOS 7 Droplet
# Apache 2 installed on your CentOS 7
# Optionally, the nano/vim text editor
# Optionally, the nano/vim text editor



Revision as of 08:33, 9 December 2017

Why Reverse Proxy

A reverse proxy is a type of proxy server that takes HTTP(S) requests and transparently distributes them to one or more backend servers. Reverse proxies are useful because many modern web applications process incoming HTTP requests using backend application servers which aren't meant to be accessed by users directly and often only support rudimentary HTTP features. You can use a reverse proxy to prevent these underlying application servers from being directly accessed. They can also be used to distribute the load from incoming requests to several different application servers, increasing performance at scale and providing fail-safeness. They can fill in the gaps with features the application servers don't offer, such as caching, compression, or SSL encryption too.


Prerequisites

  1. CentOS 7 Droplet with root/sudo access
  2. Apache 2 installed on your CentOS 7
  3. Optionally, the nano/vim text editor
yum install httpd
apachectl restart
systemctl status httpd
apachectl -t

Config Reverse Proxy

# /etc/httpd/conf.d/httpd-proxy.conf
<VirtualHost *:80>
    ProxyPreserveHost On
    ProxyRequests Off
    AllowEncodedSlashes Off
    ServerName dev.chorke.org
    ServerAlias uat.chorke.org

    <Proxy *>
        Order Deny,Allow
        Deny from all
        Allow from ::1
        Allow from 100.43.0
        Allow from 127.0.0.1
        Allow from 192.168.0
    </Proxy>

    # proxy for amqp
    ProxyPass /amqp http://127.0.0.1:8300/amqp nocanon
    ProxyPassReverse /amqp http://127.0.0.1:8300/amqp

    # proxy for mqtt
    ProxyPass /mqtt http://127.0.0.1:8301/mqtt nocanon
    ProxyPassReverse /mqtt http://127.0.0.1:8301/mqtt

    # proxy for ebis
    ProxyPass /ebis http://127.0.0.1:8302/ebis nocanon
    ProxyPassReverse /ebis http://127.0.0.1:8302/ebis

    # proxy for fhir
    ProxyPass /fhir http://127.0.0.1:8303/fhir nocanon
    ProxyPassReverse /fhir http://127.0.0.1:8303/fhir

    # proxy for init
    ProxyPass /init http://127.0.0.1:8304/init nocanon
    ProxyPassReverse /init http://127.0.0.1:8304/init

</VirtualHost>