分类 nginx 下的文章

场景:几十个站点迁移过来,懒得一一配置,索性来个遍历目录下的二级文件夹自动创建成nginx站点配置文件完成站点部署。
业务中除了获取目录名,还有排除已有,使用一个已有的标准配置来生成N多其它配置。
cd到nginx/conf下,创建脚本addsite.sh

florder='/disk2/ftp'
dir=$(ls -l $florder |awk '/^d/ {print $NF}')
for i in $dir
do
    if [ "$i" != 'p7zip_16.02' -a "$i" != 'img.isres.com' -a "$i" != 'img57.isres.com' ];then
        cp -f vhost/img.isres.com.conf vhost/$i.conf 
        sed -i 's/img.isres.com/'$i'/g' vhost/$i.conf 
        
        echo vhost/$i.conf 
    fi
done

nginx一般做代理服务器较多,大多数缓存都是proxy cache,偶尔有些架构是nginx+php组合的,其缓存就是另一种
fastcgi cache.
配置

http段:

fastcgi_cache_path /dev/shm/nginx_cache levels=2:2 keys_zone=cgi_one:10m inactive=2d max_size=10g;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie ;

server段

set $skip_cache 0;
if ($request_method = POST) {
        set $skip_cache 1;
}
if ($request_uri ~ ^/admin/) {
    set $skip_cache  1;
}


fastcgi_cache            cgi_one;
fastcgi_cache_methods    GET;
fastcgi_cache_key        "$scheme$request_method$host$request_uri";
fastcgi_cache_valid      200 302 1d;
fastcgi_cache_use_stale  error timeout invalid_header http_500;
add_header               X-Cache "$upstream_cache_status";
fastcgi_no_cache $skip_cache;
fastcgi_cache_bypass $skip_cache;
include   fastcgi_params;

收到用户反馈,部分版本Firefoxhttps 连接不安全 。
经过测试,确实 是这个问题,Firefox Setup 63.0.1.exe 这个版本重现用户问题。
同时,如果做HOST直接到云主机,没有问题,做了HOST之后再换回不做HOST,问题也会消失。
于是卸载重装Firefox 问题重现 。




- 阅读剩余部分 -

替换走

subs_filter "src=\"(((?!https).)+?)\.js" "src=\"$1.xpja"  gir;
subs_filter ",(.+?)\.js" ",$1.xpja" gir;

替换回
lua转义用%

set_by_lua $args "

                        rurl = string.gsub(ngx.var.request_uri,'xpja','js')
                        return string.gsub(rurl,'/%?','')

                ";

效果为:

http://xxx.cn/?js=file/script/config.xpja,file/script/common.xpja,file/script/GoMobile.xpja&v=20180919-1125-36

http://xxx.cn/?js=file/script/config.js,file/script/common.js,file/script/GoMobile.js&v=20180919-1125-36