nginx配置X-Forwarded-For時sed和awk的使用技巧
知識點:
1、匹配偶數(shù)行:awk -F':' '!(NR%2){print $1}'
2、匹配行后插入:sed -i "${NUM}a\ proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;" ${conf_path}
完整腳本如下:
#!/bin/bash
export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
conf_path="/usr/local/nginx/conf/nginx.conf"
XFF=$(grep 'X-Forwarded-For' ${conf_path})
if [ "${XFF}" ];then
echo "X-Forwarded-For已配置"
exit 0
fi
cp ${conf_path} /tmp/nginx.conf.bak
LINE_NUM=$(grep -n 'proxy_set_header X-Real-IP' ${conf_path}|awk -F':' '!(NR%2){print $1}')
#LINE_NUM 總共4行
flg=0
for NUM in ${LINE_NUM}
do
if [ "${flg}" -eq 1 ];then
NEW_NUM=$((${NUM}+1))
sed -i "${NEW_NUM}a\ proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;" ${conf_path}
else
sed -i "${NUM}a\ proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;" ${conf_path}
fi
((flg++))
done
cd /usr/local/nginx/op/;./reload.sh && exit 0 || exit 1
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。