welcome: please sign in
location: WorkLog

TUNA 工作志

<< <  2017 / 9 >  >>
星期一 星期二 星期三 星期四 星期五 星期六 星期日
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

<< <  2017 / 10 >  >>
星期一 星期二 星期三 星期四 星期五 星期六 星期日
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

<< <  2017 / 11 >  >>
星期一 星期二 星期三 星期四 星期五 星期六 星期日
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      

  • 以下是最近的五项工作志。这里列出了所有工作志。

  • 点击上方的日历中的日期可以查看或者创建某一天的工作志。

2016-04-30 工作志

bigeagle

nginx 1.9.11 开始支持 dynamic module, 自己编译的 lua_module 过不去,所以换到自带的 perl_module 需要注意的是,perl_set 必须在 server{} 以外使用。所以 miktex 访问 CTAN 的大小写问题如下解决:

perl_set $uri_lowercase 'sub {
        my $r =  shift;
        return lc($r->uri);
}';

location /CTAN {
        root /srv/mirror;
        autoindex on;
        try_files $uri $uri/ $uri_lowercase $uri_lowercase/ =404;
}

2016-04-10 工作志

bigeagle

  • 使用 nginx-extras 提供的 lua,将 CTAN 的大写 uri 重定向至小写

MiKTeX 非常XX地请求 CJK 宏包时使用 /CTAN/....../CJK.tar.lzma, 而实际存储的是 /CTAN/..../cjk.tar.lzma 所以使用以下代码解决:

location /CTAN {
        set_by_lua $uri_lowercase "return string.lower(ngx.var.uri)";
        root /srv/mirror;
        autoindex on;
        try_files $uri $uri/ $uri_lowercase $uri_lowercase/ =404;
}

这样有个问题,lower_uri 会变成 /ctan/.../cjk.tar.lzma,所以需要再建立个软链接 ctan -> CTAN 或者改进那段lua小代码。

2016-03-25 工作志

bigeagle

  • LDAP 从 master-master 改为 mirror master (双主节点)

2016-03-07 工作志

bigeagle

  • 浏览器访问 mirrors,自动转向 https

server {
        listen 80;
        listen [::]:80;

        server_name mirrors.* mirror.* mirror2.* mirrors4.* mirrors6.* mirrors-i.*;
        
        if ($host ~ "mirrors\.(4|6)\.(.*)") {
                return 301 https://mirrors$1.$2$request_uri;
        }
        if ($host ~ "mirrors\.(i)\.(.*)") {
                return 301 https://mirrors-$1.$2$request_uri;
        }

        if ($http_user_agent ~ "Mozilla/5.0\ ") { 
                return 301 https://$host$request_uri;
        }
        
        location = / {
                return 301 https://$host$request_uri;
        }
        
        include /etc/nginx/conf.d/mirrors_body.confi;
}

server {
        listen 443 ssl;
        listen [::]:443 ssl;

        server_name mirrors.* mirror.* mirror2.* mirrors4.* mirrors6.* mirrors-i.*;
        
        include /etc/nginx/conf.d/mirrors_body.confi;
}

2016-02-21 工作志

bigeagle

  • backport dnsmasq from jessie to wheezy
  • 用 dnsmasq 配合 ipset 按域名让一些流量通过 VPN


CategoryRecord

WorkLog (2012-02-06 22:37:41由xiaq编辑)