写点什么

Nginx 配置 location

用户头像
刘旭东
关注
发布于: 3 小时前

nginx locaiton 配置是日常工作中经常使用到的配置指令标签,它的形式非常简单

location [modifer] [uri] {

}

location 位于 server 标签内,也可以位于另一个 location 内部.对于这个指令标签,最为主要的就是 modifier 的定义,经常配置上的错误都是源自对它的不熟悉。


1、可以不填写 modifier 直接写 uri 的地址,对于这个情况 ,第一个匹配成功的地址,后续会继续匹配

location / 这方法会匹配所有的路径,因为任都是以/ 开始的,匹配成功后会继续匹配,如果没有找到合适的匹配,将会使用这个 location。


2、= 代表精确的配置,location = /images 这样的设置智慧匹配到 http://域名/images ,像 /images/index 等都是不它匹配的对象


3、对于上面提到的配置项, location /images/ 这个配置会匹配含有 images 这个 url 的请求,但是不会停止搜索,会继续匹配更加精确的。


4、location ^~ /images 代表大小写敏感的匹配,一旦匹配成功,停止寻找其他匹配项目


5、location ~* .(png|jpg)$这样的匹配代表任何 png、jpg 结尾的都能够匹配,而且是大小写不敏感,但是如果


6、location ~ /images 这个代表大小写敏感的正则匹配,而且匹配后不会停止搜寻更好的匹配


7、location ~* /images 这个是代表着大小写不敏感的正则匹配,而且也会继续搜寻更好的匹配项


下面再列一下 ant design 的 nginx 的配置,在项目中经常用到


    listen 80;    # gzip config    gzip on;    gzip_min_length 1k;    gzip_comp_level 9;    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;    gzip_vary on;    gzip_disable "MSIE [1-6]\.";    root /usr/share/nginx/html;    location / {        # 用于配合 browserHistory使用        try_files $uri $uri/ /index.html;        # 如果有资源,建议使用 https + http2,配合按需加载可以获得更好的体验        # rewrite ^/(.*)$ https://preview.pro.ant.design/$1 permanent;    }    location /api {        proxy_pass https://ant-design-pro.netlify.com;        proxy_set_header   X-Forwarded-Proto $scheme;        proxy_set_header   X-Real-IP         $remote_addr;    }}server {  # 如果有资源,建议使用 https + http2,配合按需加载可以获得更好的体验  listen 443 ssl http2 default_server;  # 证书的公私钥  ssl_certificate /path/to/public.crt;  ssl_certificate_key /path/to/private.key;  location / {        # 用于配合 browserHistory使用        try_files $uri $uri/ /index.html;  }  location /api {      proxy_pass https://ant-design-pro.netlify.com;      proxy_set_header   X-Forwarded-Proto $scheme;      proxy_set_header   Host              $http_host;      proxy_set_header   X-Real-IP         $remote_addr;  }}
复制代码


发布于: 3 小时前阅读数: 5
用户头像

刘旭东

关注

一个乐于思考的工程师 2017.11.10 加入

七年就是一辈子,交个朋友!

评论

发布
暂无评论
Nginx配置location