31 lines
738 B
Bash
Executable File
31 lines
738 B
Bash
Executable File
#!/bin/sh
|
|
|
|
## allow these addresses to be provided in case of:
|
|
## - local development/testing
|
|
## - `hostname -I' random failures or misbehavior
|
|
if [ -z "${NGX_IP_ADDRESSES:-}" ] ; then
|
|
NGX_IP_ADDRESSES=$(hostname -I)
|
|
fi
|
|
NGX_IP_ADDRESSES=$(normalize_list "${NGX_IP_ADDRESSES}")
|
|
export NGX_IP_ADDRESSES
|
|
|
|
unset NGX_IPV4_ADDRESSES NGX_IPV6_ADDRESSES
|
|
for i in ${NGX_IP_ADDRESSES} ; do
|
|
case "$i" in
|
|
*:* )
|
|
## TODO: IPv6 address validation
|
|
NGX_IPV6_ADDRESSES=$(append_list "${NGX_IPV6_ADDRESSES}" "$i")
|
|
;;
|
|
* )
|
|
if ! is_ipv4_address "$i" ; then
|
|
log_always "invalid IPv4 address: $i"
|
|
continue
|
|
fi
|
|
NGX_IPV4_ADDRESSES=$(append_list "${NGX_IPV4_ADDRESSES}" "$i")
|
|
;;
|
|
esac
|
|
done
|
|
unset i
|
|
|
|
export NGX_IPV4_ADDRESSES NGX_IPV6_ADDRESSES
|