#!/bin/sh if [ "${NGX_HTTP}" = 0 ] ; then unset NGX_HTTP_NO_PROXY NGX_HTTP_WITH_MODSECURITY else NGX_HTTP_NO_PROXY=$(gobool_to_int "${NGX_HTTP_NO_PROXY:-0}" 0) if [ "${NGX_HTTP_NO_PROXY}" = 0 ] ; then NGX_HTTP_CONFLOAD=$(append_list "${NGX_HTTP_CONFLOAD}" proxy) fi unset http_modules http_confload http_modules= http_confload="${NGX_HTTP_CONFLOAD:-}" if [ -n "${NGX_HTTP_MODULES}" ] ; then ## angie-module-lua: depends on angie-module-ndk ## angie-module-set-misc: depends on angie-module-ndk # unset want_ndk # want_ndk=0 # if list_have_item "${NGX_HTTP_MODULES}" lua ; then # want_ndk=1 # elif list_have_item "${NGX_HTTP_MODULES}" set-misc ; then # want_ndk=1 # fi # if [ ${want_ndk} = 1 ] ; then # NGX_HTTP_MODULES=$(prepend_list "${NGX_HTTP_MODULES}" ndk) # fi # unset want_ndk NGX_HTTP_MODULES=$( printf '%s' "${NGX_HTTP_MODULES}" \ | sed -zE 's/(\s|^)(lua|set-misc)(\s|$)/\1ndk \2\3/g' ) fi ## filter out builtin http modules unset i for i in ${NGX_HTTP_MODULES:-} ; do [ -n "$i" ] || continue case "$i" in */* | *\** | *\?* ) log_always "module '$i' is not legal, skipping" continue ;; esac if is_builtin_module http "$i" ; then log "$i is builtin module, moving to NGX_HTTP_CONFLOAD" http_confload=$(append_list "${http_confload}" "$i") continue fi ## naive deduplication if list_have_item "${http_modules}" "$i" ; then log "$i is already specified" continue fi http_modules=$(append_list "${http_modules}" "$i") done unset i ## grpc depends on http/2 if list_have_item "${NGX_HTTP_CONFLOAD}" grpc ; then unset want_http2 want_http2=0 if ! list_have_item "${NGX_HTTP_CONFLOAD}" v2 ; then want_http2=1 fi if [ "${want_http2}" = 1 ] ; then NGX_HTTP_CONFLOAD=$(append_list "${NGX_HTTP_CONFLOAD}" v2) fi unset want_http2 fi set -a NGX_HTTP_MODULES="${http_modules}" NGX_HTTP_CONFLOAD=$(sort_dedup_list "${http_confload}") set +a unset http_modules http_confload ## quirk: angie-module-modsecurity unset NGX_HTTP_WITH_MODSECURITY NGX_HTTP_WITH_MODSECURITY=0 while : ; do if ! list_have_item "${NGX_HTTP_MODULES}" modsecurity ; then break fi for d in /angie/modules /etc/angie/modules /etc/angie/modules.dist ; do [ -d "$d" ] || continue [ -f "$d/ngx_http_modsecurity_module.so" ] || continue if ! [ -h "$d/ngx_http_modsecurity_module.so" ] ; then NGX_HTTP_WITH_MODSECURITY=1 break fi done ; unset d break ; done export NGX_HTTP_WITH_MODSECURITY if [ "${NGX_HTTP_WITH_MODSECURITY}" = 1 ] ; then set -a NGX_DIRS_MERGE=$(sort_dedup_list "${NGX_DIRS_MERGE} modsecurity") set +a fi fi