[WebTier/OHS] How to Configure SSL ProxyPass
1. Overview
Oracle HTTP Server 12cR2 에서 ProxyPass SSL 구현 방법
2. Server SSL 설정
Server가 되는 SSL Site에 Wallet 인증서를 구현한다.
Wallet 생성
1
2
3
4
$ orapki wallet create -wallet <Wallet dir> -pwd <Wallet pwd> -auto_login
$ orapki wallet add -wallet ${CERT} -pwd <Wallet pwd> \
-dn "CN=`hostname`, OU=Example Department, O=Example Company, L=Birmingham, ST=West Midlands, C=GB" \
-keysize 1024 -self_signed -validity 3650
SSL.conf 구현
1
2
3
4
5
6
7
SSLEngine on
SSLVerifyClient None
SSLProtocol TLSv1.2
SSLHonorCipherOrder on
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!RC4:!eNULL
SSLCRLCheck Off
SSLWallet "/sw/webtier/12cR2/domains/base_domain/worker2-cert"
3. Client SSL 설정
ProxyPass로 Server 에 SSL로 접근하는 Wallet 설정을 구현한다.
Server SSL을 Chrome Browser 또는 openssl 명령으로 다운로드 받는다.
openssl 예시로는
1
2
3
4
5
6
$ openssl s_client <Server SSL Site>
...
-----BEGIN CERTIFICATE-----
<certificate contents>
...
-----END CERTIFICATE-----
BEGIN~END 전체를 복사하여 별도로 저장한다.
Wallet 을 생성하여 Server 측 인증서를 삽입한다.
1
2
$ orapki wallet add -wallet <Wallet dir> -pwd <Wallet pwd> \
-trusted_cert -cert <Server SSL Site's SSL File>
HTTPD.conf 구현
1
2
3
4
5
6
7
8
SSLProxyEngine on
SSLProxyVerify None
SSLProxyWallet "<Wallet Dir>"
<LocationMatch /ssl>
ProxyPass https://<Servet Site's SSL Addr>/
ProxyPassReverse https://<Servet Site's SSL Addr>/
</LocationMatch>
Client OHS Component의 /ssl
요청 시 Server OHS Component의 SSL Page를 호출한다.
4. References
https://oracle-base.com/articles/12c/oracle-http-server-ohs-configure-ssl