host-例子
- 端口映射
127.0.0.1:8080 www.example.com
位置可以调换,等价于:
www.example.com 127.0.0.1:8080
对于本地开发调试,往往无法只在80端口提供Web服务。如果使用传统的hosts文件方式,我们只能通过
www.example.com:8080
访问到本地的8080端口,使用whistle提供的端口映射功能即可很好解决这一问题。
- CNAME
host://www.qq.com www.example.com
位置可以调换,等价于:
www.example.com host://www.qq.com
通过关键字
host
可以实现类似DNS的cname别名的功能,即通过域名www.example.com
访问时,先访问的地址是通过解析域名www.qq.com
得到的,与请求转发www.example.com www.qq.com
不同,上面的配置不会后台收到的还是www.example.com
的请求,而请求转发收到的是转发后url的请求。
- 路径匹配
127.0.0.1:8080 example.com/test
位置可以调换,等价于:
example.com/test 127.0.0.1:8080
通过配置上述规则,可将
example.com/test
路径下的请求转发到本地的8080端口,比如请求example.com/test/a.html
、example.com/test?a=1
,但对于请求example.com/testa
则不会进行转发处理。注意,使用传统的hosts语法,是将该域名下的所有请求都进行host替换处理。
- 精确匹配
127.0.0.1:8080 $example.com/test
位置可以调换,等价于:
$example.com/test 127.0.0.1:8080
通过关键字
$
,只有请求example.com/test
会转发到本地的8080端口,对于域名example.com外的其他请求都不会进行转发处理。
- 正则表达式
127.0.0.1:8080 /example.com/i
位置可以调换,等价于:
/example.com/i 127.0.0.1:8080
通过配置上述规则,符合正则表达式
/example\.com/i
的请求,将转发到本地的8080端口进行处理,如请求example.com/index.html
、www.example.com/index.html
都将进行转发处理。
- 通配符匹配
127.0.0.1:8080 */cgi-bin/test
位置可以调换,等价于:
*/cgi-bin/test 127.0.0.1:8080
通过配置上述规则,符合正则表达式
xx.xx.xx/cgi-bin/test
的请求,将转发到本地的8080端口进行处理,如请求example.com/cgi-bin/test/index.html
、www.example.com/cgi-bin/test
都将进行转发处理。
- 组合匹配
127.0.0.1:8080 http://example.com:5555 /example.cn/i $www.example.com:6666/aa www.test.com/bb
通过配置上述规则,域名
example.com:5555
下的所有http请求、请求中含有example.cn
的所有请求、请求www.example.com:6666/aa
、路径www.test.com/bb
下的所有请求,都会转发到本地的8080端口。
学员评价