Ivan
Ivan

Reputation: 81

How disable direct ip access in Apache

I have a website with CloudFlare protection, seems good at too, but if you enter the original IP adress of my server you can enter normally.

I'm using Apache (XAMPP) and SSL (https://)

I want something similar when you enter from the IP address with CloudFlare, which throws error 1003

Upvotes: 7

Views: 16139

Answers (2)

Luis
Luis

Reputation: 150

Edit or create a default vhost and put this inside:

<VirtualHost *:80>
    ServerName xxx.xxx.xxx.xxx
    Redirect 403 /
    DocumentRoot /var/www/html
</VirtualHost>

xxx.xxx.xxx.xxx is your server ip address

After that restart your apache

sudo a2ensite your-vhost.conf
sudo systemctl restart apache2

Hope that helps

Upvotes: 2

Nic3500
Nic3500

Reputation: 8611

You can verify if the domain received in the request matches your site domain. If not, force a redirection to the user. Like so:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteRule (.*) https://www.example.com$1 [R=301,L]

So IP accesses will be forced back to the domain name. Obviously, you could return anything, this is just one method I see often.

Upvotes: 4

Related Questions