nginx常见配置

重写path、设置跨域、设置简单的密码验证

一、去掉url的前缀

1
2
3
4
5
6
7
8
server {
    listen       8080;
    server_name  localhost;
    root /root/your/path/out;
    location ~/page/(.*)$ { #前缀去掉
        rewrite ^\/page\/(.*)$ /$1.html break;
    }
}

二、不存在的文件,重定向

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11

server {
    listen       8080;
    server_name  localhost;
    root /root/your/path/out;
    location ~/(.*)$ {
        if (!-e $request_filename) {
            rewrite ^(.*)$ /$1.html break;
        }
    }
}

三、设置跨域

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
server {
    listen       8080;
    server_name  localhost;

    add_header 'Access-Control-Allow-Origin' "$http_origin";
    add_header 'Access-Control-Allow-Headers' 'accept,os,accesstoken,content-Type,X-Requested-With,Authorization,apptype,appkey,devid,token,uid,versioncode,versionname,mfg,x-request-id,x-request-uid';
    add_header 'Access-Control-Max-Age' '2592000';
    add_header 'Access-Control-Allow-Methods' 'GET, PUT, OPTIONS, POST, DELETE';
    add_header 'Access-Control-Allow-Credentials' 'true';
    add_header 'X-Content-Type-Options' 'nosniff';
    add_header 'X-XSS-Protection' '1; mode=block';
    add_header 'X-Frame-Options' 'SAMEORIGIN';
}

四、设置登录密码验证

1
2
3
4
5
6
7
8

server {
    listen       8080;
    server_name  localhost;

    auth_basic  "Input Password:登录认证" ;
    auth_basic_user_file "/usr/local/pass";
}

4.1 生成用户密码文件

1
htpasswd -c -d /usr/local/pass username
使用 Hugo 构建
主题 StackJimmy 设计