Carsten
Carsten

Reputation: 1000

How can I block all IP's, but allow 1 server ip in .htaccess

I'm trying to deny all requests sent to a website, but allow only 2 IP-addresses.
I've learned this should be done with .htaccess.

Basically there are 3 modules: Website Server, Form-handling Server and my own network IP.
Let's appoint the following IP addresses to the servers:

Website Server:       1.1.1.1
Form-handling Server: 2.2.2.2
Own Network:          3.3.3.3

The .htaccess is placed in the public_html directory of the form-handling server (2.2.2.2).

Now, this works:

order deny,allow
deny from all
allow from 3.3.3.3

The form-handling server is accessible with my own browser, but the form post request sent from the website is blocked. (which is good, in this case)

But when I edit the .htaccess to the following, the form post request is still blocked:

order deny,allow
deny from all
allow from 1.1.1.1
allow from 3.3.3.3

To make sure this .htaccess is functional I tried:

order deny,allow
deny from all
allow from 1.1.1.1

Now I cannot reach the Form-handling Server. Which proves the .htaccess is 'running'. (also, the Website Server cannot access the server tho..)

How can I achieve that the Website server has access to the Form-handling Server (and preferably me as well), but any other visitor/server hasn't?

Worth knowing: When I delete these lines from my .htaccess, the connection between the Website and Form-handling server works beautifully.

Upvotes: 0

Views: 603

Answers (1)

ESP32
ESP32

Reputation: 8728

I am pretty sure your htaccess is ok. Most likely your webserver connects the form server with a different ip - i.e. the IP from the internal LAN between your webserver and your form server is different.

Upvotes: 1

Related Questions