Unix

https 프로토콜을 강제하는 .htaccess 파일

ForceCore 2009. 2. 20. 02:15
http://www.cyberciti.biz/tips/howto-apache-force-https-secure-connections.html
이 글을 컨닝했다.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
HTTP_HOSTNAME variable을 안 쓰고 정적으로 자기 서버 이름을 적어넣은 자료들이 많은데, 사이트 이전을 생각하면, 그러지 말아야 한다 -_-;; 또 포트80인지 체크하는 코드를 넣는 사람들도 있는데.. 그러면 비표준포트로 접속하는 때를 감지하지 못한다. 역시나 그런 식으로 https인지 http인지 감지하면 안 된다.

주의: httpd.conf를 수정해서, .htaccess가 작동하도록, 디렉토리 설정의, AllowOverride에 FileInfo를 적어줘야 한다. rewrite 모듈이 로드되어야 함은 물론이다... mods_available에 있는 rewrite.load를 mods_enabled에 소프트링크 하도록 하라.

필자의 경우 phpldapadmin에 적용하고 있다.
ubuntu/debian에서 패키지로 설치된 phpldapadmin의 경우...
<Directory /usr/share/phpldapadmin/htdocs/>

    DirectoryIndex index.php
    Options +FollowSymLinks
    AllowOverride FileInfo

...생략
이렇게 하면 된다. 그리고 /usr/share/phpldapadmin/.htaccess 파일을 생성하면 끝.