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

How to Convert PEM KeyFile into PPK KeyFile and vice versa?

How to transfer Google Cloud Storage One account data to Google Cloud another account?

MySQL Commands, Administration, Backup, Restore