Apache HTTP Server

아파치 웹 서버에서 특정 IP 만 접속을 허용하게 하는 설정

sstdio.h·2015년 5월 27일·조회 9,240

시나리오는,

  • 1. 허용하고자 하는 IP 대역은 192.168.0, 192.168.1.2, 10.0.0, 10.1, 10.2 이다.
  • 2. 위 IP 대역이 아닌 경우 /htm/forbidden.htm 을 보여준다. 

첫 번째 방법은 deny, allow 를 이용한 방법입니다.

Order deny,allow
Deny from all
Allow from 192.168.0
Allow from 192.168.1.2
Allow from 10.0.0
Allow from 10.1
Allow from 10.2

위와 같이 설정한 후 ErrorDocument 403 에서 /htm/forbidden.htm 을 지정하면 됩니다.

그런데 이 경우 response header 에 403 코드가 노출되게 되어 보안상 그다지 좋지는 않습니다.

그래서 두 번째 방법을 사용하기도 합니다. 

RewriteEngine on

RewriteCond %{REMOTE_ADDR} !^192\.168\.0\.
RewriteCond %{REMOTE_ADDR} !^192\.168\.1\.2
RewriteCond %{REMOTE_ADDR} !^10\.0\.0\.
RewriteCond %{REMOTE_ADDR} !^10\.1\.
RewriteCond %{REMOTE_ADDR} !^10\.2\.
RewriteCond %{REQUEST_URI} !/htm/forbidden.htm$ [NC]
RewriteRule ^.*$ /htm/forbidden.htm [R,L]

바로 mod_rewrite 를 사용하는 것입니다.

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.