환경 변수에 따라 액세스 제한

환경 변수에 따라 액세스 제한

영리하게 노력하고 환경 변수에 따라 액세스를 허용합니다. 작동하지 않는 것 같습니다(오류 없음, 표현식이 항상 거짓임).


내가 시도한 것:

<VirtualHost *:80>

  ...

  <Directory /var/www/html>
    Options       Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order         allow,deny

    <If "reqenv('ENVIRONMENT_STATE') == 'dev'">
      allow from 1.22.333.0/24
      deny from all
    </If>
    <Else>
      allow from all
    </Else>
  </Directory>
</VirtualHost>

예상되는 동작:

ENVIRONMENT_STATE로 설정된 경우 'dev'언급된 IP를 제외한 모든 액세스를 제한합니다.


출처:

http://httpd.apache.org/docs/2.4/mod/core.html#else
https://httpd.apache.org/docs/2.4/expr.html

답변1

IP 제한을 위해 .htaccess 파일을 사용합니다. 이유는 다음과 같습니다.

  • 소스를 제어할 수 있습니다.
  • IP 주소를 추가하거나 제거할 때 서버를 다시 시작할 필요가 없습니다.
  • 실수로 자신을 잠근 경우 언제든지 FTP로 접속하고 파일을 편집하여 액세스를 복원할 수 있습니다.

이것 좀 봐질문예를 들어.

관련 정보