UPNS는 모바일 및 웹 환경에서 푸시 알림(App Push/Web Push)을 효율적으로 제공하기 위한 솔루션입니다. Private WebPush에서 사용하는 WebSocket 서비스에 SSL을 적용해 안전하고, 암호화된 통신 환경을 구축하는 것이 본 가이드의 주된 목표입니다. 서버 인증서 변환부터 UPNS 설정까지 필요한 사항을 순차적으로 안내하므로, 해당 절차를 참고하여 WebSocket Secure 환경을 구성할 수 있습니다.
UPNS의 웹 소켓은 웹브라우저에서 사용할 수 있는 WebPush 기능을 제공하며, 사설(Private) 환경에서도 WebPush 서비스를 활용할 수 있습니다. UPNS는 5.1 버전부터 이를 지원하여, 필요에 따라 WebSocket에 SSL을 적용할 수 있습니다.
공인 SSL 인증서 환경
사설 CA 환경
여러 인증서 파일(.crt)을 합쳐 하나의 Full Chain PEM 파일을 만들기 위해서는 다음과 같이 cat
명령어를 사용할 수 있습니다:
cat server.crt chain.crt root.crt > fullchain.pem
이렇게 생성된 fullchain.pem
파일을 UPNS 설정 시 서버 인증서(Full Chain) 용도로 사용하시면 됩니다.
개인키 PEM 파일을 PKCS#8 형식으로 변환해야 UPNS 서버 설정에서 활용할 수 있습니다.
OpenSSL 명령어를 사용하거나 다른 방법을 사용해도 됩니다.
예시 openssl 명령어:
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in private_key.pem -out private_key_pkcs8.pem
UPNS 설정 파일에서 SSL을 활성화하고, 변환한 키와 인증서 PEM 파일 경로를 지정해야 합니다.
기본적으로 UPNS 설정 파일은 {UPNS 설치 경로}/config/config.xml
위치에 있습니다.
또한, 인증서 파일들은 절대경로로 설정하되, {UPNS 설치 경로}/conf
디렉토리에 저장하는 방식을 권장합니다.
use_ssl
: Y
key_pem_path
: 개인키 PKCS#8 파일의 절대경로crt_pem_path
: 서버 인증서 PEM 파일(Full Chain)의 절대경로<configuration>
<!-- 중략 -->
<websocket>
<use_ssl>Y</use_ssl>
<key_pem_path>{UPNS 설치 경로}/config/private_key_pkcs8.pem</key_pem_path>
<crt_pem_path>{UPNS 설치 경로}/config/fullchain.pem</crt_pem_path>
</websocket>
</configuration>