본문 바로가기

WEB/Apache,OHS

[OHS] OHS12cR2 gzip compression 적용 가이드

#. 테스트 환경

OHS 버전 : 12cR2 (12.2.1.3)

OS : CentOS7, AIX6.1, AIX7.1

 

#. 참고 글

https://www.playnexacro.com/#show:techtip:182

https://syhwang.tistory.com/20

https://gitabout.com/18

오라클 문서 : Oracle HTTP Server 12c fails to start with "Invalid command 'AddOutputFilterByType'" error
                  (Doc ID 2146719.1)

 


 

#. 사용 시 주의 사항

이미지 파일의 경우 (jpg, jpeg, gif, png 등)

gzip compress 적용 시 오히려 로딩 속도가 느려질 수 있다고 한다

 

웹 사이트 트래픽의 대부분을 점유하는

자바스크립트(js), CSS, HTML 등 텍스트 파일 대상으로만 gzip 압축 하는 것을 권장

 


 

#. 설정 적용

httpd.conf 파일에 아래 옵션을 추가한다.

compression을 적용하고자 하는 mime type를 일일이 작성해야 한다.

############## gzip compress ##############
LoadModule filter_module "${PRODUCT_HOME}/modules/mod_filter.so"
LoadModule deflate_module "${PRODUCT_HOME}/modules/mod_deflate.so"

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/x-java-script
    AddOutputFilterByType DEFLATE text/plain

    # 압축 제외대상 지정
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|bmp|zip|t?gz|7z)$ no-gzip dont-vary
    Header append Vary User-Agent env=!dont-vary
</IfModule>
##########################################

 


 

#. AIX 서버에서 적용 시 버그 발생

LINUX 환경에서는 문제 없이 설정 적용 되었음 (CentOS7)

그런데 AIX 환경에서는 옵션 추가 후 서버 재기동 시 에러가 발생하였음.

Oracle 문서 내에서 관련 사례 찾아보니 버그인 것으로 확인됨.

<2022-04-27 16:42:46> <INFO> <OHS-0> 
<httpd: Syntax error on line 1091 of /webserver/ohs12c/domains/test_domain/config/fmwconfig/components/OHS/instances/comp1/httpd.conf: 
Cannot load /webserver/ohs12c/wlserver/../ohs/modules/mod_deflate.so into server: \t0509-022 
Cannot load module /webserver/ohs12c/ohs/modules/mod_deflate.so.\n\t0509-150   
Dependent module /webserver/ohs12c/wlserver/../ohs/lib/libz.a(libz.so.1) 
could not be loaded.\n\t0509-152 
Member libz.so.1 is not found in archive \n\t0509-022 
Cannot load module /webserver/ohs12c/ohs/modules/mod_deflate.so.\n\t0509-150   
Dependent module /webserver/ohs12c/ohs/modules/mod_deflate.so could not be loaded.>

 

 

OHS Bundle Patch 적용하여 해결하였음.

Patch Number 33960919

OPatch 13.9.4.2.5 버전 이상 필요

 

Bug Number 30256875 와 연관이 있는 것으로 추측