Suppose that you already have a service tunning at 127.0.0.1:8080/docs, and you want it to make avaialable via 127.0.0.1/docs then we have to employ some url mappings. Following steps describes how to do this via apache2 server.
Install Apache2
apt-get install apache2
Get the module and dependencies.
apt-get install libapache2-mod-proxy-html libxml2-dev
Activate the modules
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Modify the default configuration file
nano /etc/apache2/sites-enabled/000-default.conf
Add following as appropriate
ProxyPreserveHost On ProxyPass / http://127.0.0.1:8080/ ProxyPassReverse / http://127.0.0.1:8080/ ServerName localhost
Restart Apache2
sudo service apache2 restart or sudo apache2ctl restart
Test
Once restarted check typing localhost/docs if you get the same site which gives you when you type localhost:8080/docs then you have properly configured the reverse proxy.
For https
Activate the module
a2enmod _ssl
Add following to the default configuration file (/etc/apache2/sites-enabled/000-default.conf)
For https
Activate the module
a2enmod _ssl
Add following to the default configuration file (/etc/apache2/sites-enabled/000-default.conf)
SSLEngine on SSLCertificateFile /home/path/to/ca.crt SSLCertificateKeyFile /home/path/to/ca.key ProxyPreserveHost On SSLProxyEngine on # Proxy path which user wants to map with actual backend ProxyPass /myapp https://localhost:9443/app/ ProxyPassReverse /myapp https://localhost:9443/app/ ProxyPassReverseCookiePath /app /myapp
Restart Apahe2 and test similar to above setup.
Reference
Reference
[1] - https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension
No comments:
Post a Comment