nginx 跨域请求、别名路径及防盗链的配置

nginx跨域请求的配置

在nginx.conf文件中可server语句中可添加如下配置,即可实现跨域请求:

#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如 GET/POST/PUT/DELETE
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;

nginx为静态资源配置root路径和alias别名

假设服务器路径为:/home/imooc/files/img/face1.png

  • root路径完全匹配访问 配置的时候为
location /imooc {
    root /home
}

用户访问的时候请求地址:url:port/imooc/file/img/face1.png

  • 也可以是用alias为路径做别名,可隐藏部分信息,对于上述的路径,可使用别名配置为
location /static {
    alias /home/imooc
}

用户访问的时候请求地址:url:port/static/file/img/face1.png

nginx location匹配规则

语法规则

模式 含义
location=/uri =表示精确匹配,只有完全匹配上才能生效
location ^~/uri ^~开始对URL路径进行前缀匹配,并且在正则之前
location ~ pattern 开头表示区分大小写的正则匹配
location ~* pattern 开头表示不区分大小写的正则匹配
location /uri 不带任何修饰符,也表示前缀匹配,但是在正则匹配之后
Location / 通用匹配,任何未匹配到其他的location的请求都会匹配到,相当于switch中的default

nginx防盗链配置支持

# 对原站点进行检查
valid_referers *.imooc.com;
# 非法引入会进入下方判断
if($invalid_referer){
    return 404;
}
原文地址:https://www.cnblogs.com/shine-rainbow/p/13080534.html