Sometimes you may need to redirect requests from Port 80 to 8080 in Apache web server. In this article, we will look at different ways to redirect port 80 to 8080.
How to Redirect Port 80 to 8080 in Apache .htaccess
Here are the steps to redirect from port 80 to 8080.
1. Using VirtualHost
In this case, we will add a RedirectRule in out Virtual Host file. If you have access to Apache’s default virtual host file, open it in a text editor.
$ sudo vi /etc/apache2/sites-available/000-default.conf
Look for the VirtualHost Tag for port 80 and add the following lines.
# Redirect all requests to the local Apache server to port 8080
RewriteRule ^.*$ http://%{HTTP_HOST}:8080%{REQUEST_URI}
So your VirtualHost will look like
<VirtualHost *:80> ...# Redirect all requests to the local Apache server to port 8080
RewriteRule ^.*$ http://%{HTTP_HOST}:8080%{REQUEST_URI}
... </VirtualHost>
Save and close the file.
Restart Apache server to apply changes.
$ sudo service apache2 restart
2. Using Proxy_pass
Alternatively, you may also use proxy_pass directive to redirect port 80 to 8080. In this case, Apache server will act as a reverse proxy server that receives requests to port 80 and then redirects them to port 8080.
Install & mod_proxy on your system.
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
sudo systemctl restart apache2
Open virtual host file in a text editor.
$ sudo vi /etc/apache2/sites-available/000-default.conf
Add the following lines in your VirtualHost tag. Replace /url-of-your-choice with a URL of your choice.
ProxyPass /url-of-your_choice http://localhost:8080/servlet-name
ProxyPassReverse /url-of-your-choice http://localhost:8080/servlet-name
So your Virtual Host tag will look like,
<VirtualHost *:80>
...
ProxyPass /url-of-your_choice http://localhost:8080/servlet-name
ProxyPassReverse /url-of-your-choice http://localhost:8080/servlet-name
...
</VirtualHost>
Save and close the file.
Restart Apache server to apply changes.
$ sudo service apache2 restart
3. Using .htaccess
If you have access to .htacces file, open it in a text editor.
$ sudo vi /var/www/html/.htaccess
Add the following lines to it. Replace url_string with your URL string.
RewriteEngine On
RewriteCond %{SERVER_PORT} =80
RewriteRule ^url_string http://localhost:8080%{REQUEST_URI} [NC,L,R]
Restart Apache server to apply changes.
sudo service apache2 restart
In this article, we have looked at different ways to redirect port 80 to port 8080. One uses redirect directive and other uses Proxy_pass directive. You can use these steps to redirect Apache server by port number.
Also read :
How to Monitor Apache Server Performance with mod_status
How to Parse JSON in NodeJS
How to Hide PHP Version in WordPress/Apache
How to Setup SSL/HTTPS in NodeJS
How to Prevent Direct Access to PHP File
Related posts:
Sreeram has more than 10 years of experience in web development, Python, Linux, SQL and database programming.