Wowza Streaming Engine 4.0.3 이상 버전에 제공되는 HotlinkDenial 모듈을 이용하여
설정하게 되면 접근 도메인을 제한할 수 있습니다.
즉, 허용한 도메인 외에서 접근시 재생할 수 없게 차단합니다. (rtmp 주소 직접 호출 포함)
* HotlinkDenial에 Denial은 (무엇의 사실성, 존재에 대한) 부인, (권리 주장에 대한) 거부 등에 뜻이 있다고 합니다.
< 설정방법 >
1. 먼저, 와우자 사이트에서 WowzaServerAddOnCollection_4.0.zip 파일을 다운로드 받아 압축을 풀고, 내용중 lib 폴더에 2개 *.jar 확장자 파일을
와우자 lib 디렉토리로 복사합니다. 그리고, 두 파일의 파일권한은 chmod 757로 변경합니다.
2. (모듈 추가) 접속을 제한하고자 하는 어플리케이션(채널)의 Application.xml 파일을 열어 Modules 항목으로 이동, flvplayback 아래에 다음 내용을 추가합니다.
<Module>
<Name>ModuleHotlinkDenial</Name>
<Description>Sets a list of hotlinkable website domains and denies hotlinks to other domains.</Description>
<Class>com.wowza.wms.plugin.collection.module.ModuleHotlinkDenial</Class>
</Module>
3. (프로퍼티 추가) 바로 아래 Properties 로 이동, 다음 사항을 추가합니다.
내용중 도메인을 제한하는 것은 hotlinkDomains 의 Value 값으로
단일 1개 도메인만 허용시 smilecdn.com 서브 도메인을 포함하여 허용시 *smilecdn.com
여러개 도메인을 허용시 abc.com, abc.co.kr 와 같이 컴마(,)로 구분하여 줍니다.
<Property>
<Name>hotlinkDomains</Name>
<Type>String</Type>
<Value>smilecdn.com</Value>
</Property>
<Property>
<Name>hotlinkEncoders</Name>
<Type>String</Type>
<Value>Wirecast</Value>
</Property>
<Property>
<Name>hotlinkLogConnections</Name>
<Type>Boolean</Type>
<Value>true</Value>
</Property>
<Property>
<Name>hotlinkLogRejections</Name>
<Type>Boolean</Type>
<Value>true</Value>
</Property>
4. 위와 같이 설정후 Wowza를 재시작해줍니다.
5. 적용 테스트
이번에는 HotlinkDanial 모듈이 적용되어 있는 사이트에 접근해서 정상적으로 차단하고 있는지 알아보겠습니다.
여러 URL 중 neosky-vod.ooz.kr 사이트만 접근(재생)이 허용되어 있고, 나머지 도메인에서 접근시에는 재생하지 않습니다. (Reject 시킴)
http://neosky-vod.ooz.kr/
http://neosky-vod2.ooz.kr/
http://neosky-cf.ooz.kr/
– 서버 로그 (허용하지 않은 도메인에서 접근한 경우 Rejected 로 처리함)
2016-03-29 16:59:46 KST comment application INFO 200 – ModuleHotlinkDenial.onConnect: 1072197193 _defaultVHost_ neosky_vod _defisnt_ 0.038 – – — – – – – – – – – – – – – – – – – – – – –
2016-03-29 16:59:46 KST comment application INFO 200 – ModuleHotlinkDenial Client Flashver: lnx 21,0,0,197 _defaultVHost_ neosky_vod _defisnt_ 0.038 – — – – – – – – – – – – – – – – – – – – – – –
2016-03-29 16:59:46 KST comment application INFO 200 – ModuleHotlinkDenial domainLock: neosky-vod.ooz.kr _defaultVHost_ neosky_vod _defisnt_ 0.038 – — – – – – – – – – – – – – – – – – – – – – –
2016-03-29 16:59:46 KST comment application INFO 200 – ModuleHotlinkDenial pageUrl: http://neosky-vod2.ooz.kr/ _defaultVHost_ neosky_vod _defisnt_ 0.039 – — – – – – – – – – – – – – – – – – – – – – –
2016-03-29 16:59:46 KST comment application INFO 200 – ModuleHotlinkDenial Client Rejected. IP: 211.55.113.6: domainLock: neosky-vod.ooz.kr: pageUrl: http://neosky-vod2.ooz.kr/_defaultVHost_ neosky_vod _defisnt_ 0.039 – –
– 서버로그 (허용한 도메인에서 접근한 경우)
2016-03-29 17:01:06 KST comment application INFO 200 – ModuleHotlinkDenial.onConnect: 635633717 _defaultVHost_ neosky_vod _definst_ 0.037 – – — – – – – – – – – – – – – – – – – – – – –
2016-03-29 17:01:06 KST comment application INFO 200 – ModuleHotlinkDenial Client Flashver: lnx 21,0,0,197 _defaultVHost_ neosky_vod _definst_ 0.037 – — – – – – – – – – – – – – – – – – – – – – –
2016-03-29 17:01:06 KST comment application INFO 200 – ModuleHotlinkDenial domainLock: neosky-vod.ooz.kr _defaultVHost_ neosky_vod _definst_ 0.038 – — – – – – – – – – – – – – – – – – – – – – –
2016-03-29 17:01:06 KST comment application INFO 200 – ModuleHotlinkDenial pageUrl: http://neosky-vod.ooz.kr/ _defaultVHost_ neosky_vod _definst_ 0.038 – — – – – – – – – – – – –