分类默认下的文章

Arno 发布于 02月20, 2021

nginx rewrite 详解

概述

NGINX 重写模块 ngx_http_rewrite_module 用于使用 PCRE正则表达式 更改请求URI,返回重定向,并有条件地选择配置。

主要的指令 break, if, return, rewrite, set

指令执行顺序:

  1. 按顺序执行 server 区块中的 rewrite 模块指令
  2. 如果发生 rewrite 地址重写,执行 location 匹配
  3. 按顺序执行 匹配 location 中的 rewrite指令

如果URI发生重写,就会重新循环执行1-3,直到找到真实存在的文件。

如果循环超过10次,则返回 500 Internal Server Error 错误。

阅读全文 »

Arno 发布于 02月20, 2021

nginx proxy_pass 详解

指令语法

proxy_pass URL;

URL 由三部分组成:

  • 协议 可以指定 http 或 https
  • 地址 可以指定 域名 或 ip 以及 可选端口
  • 可选的URI

示例

proxy_pass http://www.abc.com;
proxy_pass http://127.0.0.1:8000/uri/;

proxy_pass http://unix:/tmp/backend.socket:/uri/;

此外,可将地址指定为一个主机组 server group,使用 upstream 来定义主机组。

当使用 rewrite 在代理位置更改URI时(地址重写),则重写后的URI会传递给后端服务器。

阅读全文 »

Arno 发布于 12月12, 2017

Bind9 zone 文件格式化说明

本文涵盖了 Bind DNS Zone 示例文件,并针对SOA记录做了详细介绍。

zone 文件示例

    ; zone file fragment for mytest.cn
    ;$TTL 600

    $ORIGIN mytest.cn.

    ; SOA record
    ; owner-name ttl class rr      name-server      email-addr  (sn ref ret ex min)
    @                 IN   SOA     ns1.mytest.cn.   root.mytest.cn. (
                        2017031088 ; sn = serial number
                        3600       ; ref = refresh = 20m
                        180        ; uret = update retry = 1m
                        1209600    ; ex = expiry = 2w
                        10800      ; nx = nxdomain ttl = 3h
                        )
    ; type syntax
    ; host ttl class type data

    ; NS records
    @  86400  IN  NS  ns1.mytest.cn.
    @  86400  IN  NS  ns2.mytest.cn.

    ; A records
    ns1  600  IN  A  10.10.8.1
    ns2  600  IN  A  10.10.8.2

阅读全文 »