How to use APACHE/NGINX as reverse proxy?

 


In this post we will learn, how can we use apache and NGINX webserver as a reserve proxy. Means if we are using an application of different port and we want to use that application on port 80 or 443.



For Apache

Step 1: Install apache2 webserver

sudo apt-get update
sudo apt-get install apache2 -y


[Check the apache installed or not and apache version]
apache2 -v

[Start the apache service if not running]
sudo systemctl start apache2     

[Enable apache service at boot time]
sudo systemctl enable apache2

[Restart apache service]
sudo systemctl restart apache2


Step 2: Create a configuration file under /etc/apache2/sites-availbale 



[Like I have done in previous Jenkins post]
cd /etc/apache2/sites-availbale


Step 3: Add the following lines in the jenkins.conf file
sudo vim jenkins.conf
ServerName jenkins.domain
ServerAlias www.jenkins.domain
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyPassReverse / http://jenkins.host/

Order allow,deny
Allow from all
ProxyPreserveHost on

Save and Exit from the jenkins.conf file.


Step 4: Now, we have to install the following apache module
a2enmod proxy
a2enmod proxy_http

[Restart the apache service]
systemctl restart apache2


Step 5: Deactivate the default apache2 configuration file


Let assume we are in /etc/apache2/sites-available. Rename the default 000-default.conf
sudo mv 000-default.conf 000.default.conf.bkp


Step 6: Now go to the path /etc/apache2/sites-enable folder


Remove the default symlink and create symlink for jenkins.conf file
sudo rm 000-default.conf
sudo ln -s ../sites-available/jenkins.conf /etc/apache2/sites-enabled/
sudo systemctl restart apache2


For NGINX

Create a file name jenkins in the following location:
sudo vim /etc/nginx/sites-enabled/jenkins


Copy the following lines inside it

server {
listen 80;
server_name jenkins.cloudshades.in;

location / {
proxy_pass http://127.0.0.1:8080;
}
}


Restart the NGINX service
systemctl restart nginx








Popular posts from this blog

WordPress Themes and Plugins Installation Problem

How to SSH EC2 instance with ssh-agent along with SSH agent forwarding to SSH private instances in VPC?

How to deploy Java Springboot application in Ubuntu 16.04/18.04