[#37] 测试NixOS部署server通过
This commit is contained in:
@@ -1 +1 @@
|
||||
1.38.0
|
||||
1.40.0
|
||||
|
||||
@@ -24,13 +24,18 @@ else
|
||||
fi
|
||||
|
||||
# ========== 读取 DNS ==========
|
||||
if [ -f "$DNS_CONF_PRIVATE" ]; then
|
||||
echo "从 $DNS_CONF_PRIVATE 读取 DNS 服务器..."
|
||||
RESOLVERS=$(awk '/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/ {print $1}' "$DNS_CONF_PRIVATE" | tr '\n' ' ')
|
||||
fi
|
||||
RESOLVERS=""
|
||||
# 优先等待 /private/argus/etc/dns.conf 生成并读取其中的 IP
|
||||
for i in $(seq 1 10); do
|
||||
if [ -f "$DNS_CONF_PRIVATE" ]; then
|
||||
RESOLVERS=$(awk '/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/{print $1}' "$DNS_CONF_PRIVATE" | tr '\n' ' ')
|
||||
fi
|
||||
[ -n "$RESOLVERS" ] && break
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# 如果 /private 文件不存在则 fallback
|
||||
if [ -z "${RESOLVERS:-}" ]; then
|
||||
# 若仍为空则回退到系统 resolv.conf
|
||||
if [ -z "$RESOLVERS" ]; then
|
||||
echo "未在 $DNS_CONF_PRIVATE 中找到有效 DNS,使用系统 /etc/resolv.conf"
|
||||
RESOLVERS=$(awk '/^nameserver/ {print $2}' "$DNS_CONF_SYSTEM" | tr '\n' ' ')
|
||||
fi
|
||||
@@ -47,8 +52,9 @@ echo "检测到 DNS 服务器列表: $RESOLVERS"
|
||||
if [ -f "$TEMPLATE" ]; then
|
||||
echo "从模板生成 nginx.conf ..."
|
||||
# 合并 Docker 内置 DNS 以保障解析 Compose 服务名
|
||||
# 将 127.0.0.11 放在末尾,优先使用 /private/argus/etc/dns.conf 指向的 bind
|
||||
if ! echo " $RESOLVERS " | grep -q " 127.0.0.11 "; then
|
||||
RESOLVERS="127.0.0.11 ${RESOLVERS}"
|
||||
RESOLVERS="${RESOLVERS} 127.0.0.11"
|
||||
fi
|
||||
sed "s|__RESOLVERS__|$RESOLVERS|" "$TEMPLATE" > "$TARGET"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user