지난번 포스팅을 통해서 AWS Lightsail을 사용해서 워드프레스 환경을 구축해보았다.
그런데 한 가지 문제가 생겼다. SSL 인증서를 잘 적용해서 https 접속까지 확인하였는데, SSL 인증서가 도메인 주소를 기반으로 발급되는 것이라서 만약 구글 검색이나 다른 방법(nslookup 명령어 등)으로 내 블로그의 도메인 주소가 아닌 고정 IP 주소가 노출된다면 IP로 접속하는 순간 https가 지원되지 않아서 보안상 안전하지 못하기 때문이다.
아래와 같이 고정 IP를 통해서 접속하면 https에 줄이 그어지고 주의 요함 글자를 클릭하면 HTTPS가 사용되지 않았다는 메시지를 확인할 수 있다.
그래서 고정 IP 주소로 접근할 경우 400 에러를 보여주는 방식으로 처리를 해야한다. 400 에러를 보여주면 구글 검색에도 고정 IP로는 블로그가 검색되지 않고 도메인 주소로만 검색이 될 것이다.
403 에러 설정을 위해 Lightsail 인스턴스 화면으로 들어가서 SSH 터미널로 접속한다.
https://lightsail.aws.amazon.com/ls/webapp/home/instances
lightsail.aws.amazon.com
그리고 아래 명령어를 입력하여 httpd-prefix.conf 파일을 연다.
$sudo vi /opt/bitnami/apps/letsencrypt/conf/httpd-prefix.conf
파일을 열면 아래 내용만 있을 것이다.
파일 끝 부분에 아래 내용을 추가해준다. 고정 IP가 111.222.333.444라면 아래와 같이 111\.222\.333\.444로 넣어주면 된다.
위 내용은 http://111.222.333.444로 접속했을 때 차단하는 것이고, 아래 내용은 https://111.222.333.444로 접속했을 때 차단하는 것이다.
#http deny
RewriteCond %{HTTPS} =off
RewriteCond %{HTTP_HOST} ^111\.222\.333\.444
RewriteRule ^ [F]
# https deny
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^111\.222\.333\.444
RewriteRule ^ [F]
그리고 저장 후 인스턴스를 reboot(재부팅)하고, 다시 고정 IP로 접속을 해보면 Bad Request가 나오면서 접속이 제한된다.