前言
记录我目前工作上遇过的配置,写成文章只是为了方便,因为笔记没有可是化的markdown格式,哈哈哈
参考demo
server {
listen 80;
listen 443;
listen 14000;
# 注释注释
location /dddd/adar {
if ($request_uri ~ "[&\?]max_age=([0-9]+)") {
add_header "Cache-Control" "max-age=$1";
}
alias /vdar/wdww/hdtml/rdadar/dddist/;
}
location ^~ /radar/camdddpaign-stdddatic/ {
alias /vdar/wdww/hdtml/rdadar/dddist/;
}
location /status.html {
return 200 "RUNNING";
}
}
配置项
1.注释
井号后面写字
# 注释
2.监听
listen,监听的意思是,在这个端口号下面的所有请求,都会命中,然后走你下面的规则,首先要知道,我们再浏览器输入url,
比如https://www.baidu.com,是吧,百度地址,会进行域名解析最后变成,
比如https://199.199.199.199:3000/...,前面ip是你的服务器地址,端口就是这里的listen
其实写到这里的时候我突然有点疑惑,这个www到底是什么意思,因为我们访问百度就算不带www也是可以,然后我搜了一圈,www是算二级域名,访问带www的时候,只是也指向了一级域名baidu.com,然后再解析域名得出ip端口,所以最后才会变成我上面说的那个
listen 80;
listen 443;
listen 14000
这里的意思,监听这3个端口的网络请求,比如可能我a.html是放在端口80上,而b.html是放在443的端口上,我说放的这个意思,是文件,文件放在了服务器上
3.路径匹配
location 后面跟定义的路径
alias 请求资源的真实路径
(1)alias 只能作用在location中
(2)后面的路径必须/结束
(3)会替换掉命中的路径
root 请求资源的真实路径
(1)root可以存在server、http和location中
(2)对 ”/” 可有可无
(3)不会替换命中的路径
location /dddd/adar {
if ($request_uri ~ "[&\?]max_age=([0-9]+)") {
add_header "Cache-Control" "max-age=$1";
}
alias /data/w3/;
}
比如这个规则,跟我之前写的vue配置正向代理的那个一样,例如
https://abc.com/dddd/adar/sta...
域名后的一个/开始,/dddd/adar命中规则,所以真正的请求会变成
/data/w3/static/index.html
这个是alias的作用,注意哦,它替换了/dddd/adar,替换了。
接下来是这种
location /dddd/adar {
if ($request_uri ~ "[&\?]max_age=([0-9]+)") {
add_header "Cache-Control" "max-age=$1";
}
root /data/w3;
}
还是请求https://abc.com/dddd/adar/sta...,命中变成
/data/w3/dddd/adar/static/index.html
这个是root,他没有替换命中的规则
4.代理转发
proxy_pass,据查资料,用于转发请求,负载均衡,我自己理解,这个字段后面一般携带ip加端口,跟上面的root,alias不同,这两个也算是转发,不过转的还是这个端口的,而p这个就是直接转发其他的ip或者端口
举例三种情况
请求https://abc.com/test/good.html
location /test/ {
proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8080/;
proxy_pass http://127.0.0.1:8080/img;
}
第一个,不会替换,带test
http://127.0.0.1:8080/test/go...
第二个,替换,去掉了test
http://127.0.0.1:8080/good.html
第三个,替换,去掉了test
http://127.0.0.1:8080/img/goo...
待续
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。