proxy 를 사용하면서 ip로 접속제한 또는 URL로 설정하려는 경우

2024. 1. 17. 23:31WebServer/Apache

반응형

1. IP 기준 차단

 

우선 작동안되는 예제를 보자

<VirtualHost *:80>
    DocumentRoot "/home/user/www"
    ServerName www.example.com
   <Directory /home/user/www>
       #Require all granted
       Require ip 192.168.123.456
    </Directory>
     ProxyRequests Off
     ProxyPreserveHost On
     ProxyPass "/" "http://127.0.0.1:8000/"
     ProxyPassReverse "/" "http://127.0.0.1:8000/"
     <Location /html>
       ProxyPass http://192.168.0.145:8080/html/
      ProxyPassReverse http://192.168.10.145:8080/html/
    </Location>
    <Location /user>
      ProxyPass http://192.168.0.146:8080/user/
      ProxyPassReverse http://192.168.0.146:8080/user/
    </Location>
</VirtualHost>

 

위는 작동되지 않는다.

왜냐면 <Directory></Directory>를 사용하겠기 때문이다.

 

<Location></Location> 사용해야 적용된다.

 

2. 접속도메인 및 URL로 차단

<Proxy *>
  Require all denied
  # Deny from all
</Proxy>

#*.test.com:
<ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[t,T][e,E][s,S][t,T]\.[c,C][o,O][m,M](:[0-9]+)?(/.*)?$>
  Require all granted
  # Allow from all
</ProxyMatch>

 

반응형