요청을 받아들이는 아파치 서버가 하나 있고,
그 아파치 서버가 내부망에 있는 2개의 웹 서버로 연결해준다고 하자.
내부망의 웹서버 하나는 car에 대한 내용을 전담하고 있고
다른 하나는 airplane과 관련된 요청을 담당하고 있다고 하자.
그럼 다음과 같이 url구성을 생각해 볼 수 있다.
https://도메인네임/car/블라 는 car 웹서버가
https://도메인네임/airplane/블라라 은 airplane 웹서버가 요청을 받도록 설정한다.
이 상황에서 ssl 까지 적용한다고 하면 일단
apache 에서는 80으로 들어오는 것은 443으로 redirect한다.
<VirtualHost *:80>
ServerName myweb.com
Redirect / https://myweb.com
</VirtualHost>
그리고 443에 대해서는 ProxyPass통해서 url 구분자 통해 내부 아이피로 전달한다.
<VirtualHost *:443>
ServerName myweb.com
ProxyPass "/car" "http://10.10.1.1/"
ProxyPassReverse "/car" "http://10.10.1.1/"
ProxyPass "/airplane" "http://10.10.1.2/"
ProxyPassReverse "/airplane" "http://10.10.1.2/"
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
SSLProxyEngine On
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on
</VirtualHost>
aws상에서 elb 등과 조합하여 웹 서버를 구성을 설정할 때 주의점은 다음과 같다.
1. ELB의 security group 에서 포트를 열어줘야 한다.
2. Instance의 security group 에서 포트를 열어줘야 한다.
3. apache 에서 Port Listen을 기재해줘야 한다.
4. a2enmod 명령어 통해서 apache의 모드를 enable 시켜줘야지 ssl, rewrite 등을 쓸 수 있다.
apache 재기동할 때 나오는 에러 메시지 검색해보면 금방 알 수 있다.
5. apache의 각 virtual host 별로 에러 로그 확인해서 문제 상황을 해결하도록 한다.
댓글 없음:
댓글 쓰기