Skip to content

Instantly share code, notes, and snippets.

@oNguyenNgocTrung
Created March 24, 2019 23:58
Show Gist options
  • Save oNguyenNgocTrung/19f7f5218d63b7c389f8c5b71fadba84 to your computer and use it in GitHub Desktop.
Save oNguyenNgocTrung/19f7f5218d63b7c389f8c5b71fadba84 to your computer and use it in GitHub Desktop.
Một số config nginx cơ bản

Redirect non-WWW sang WWW

1 domain

server {
        server_name example.com;
        return 301 $scheme://www.example.com$request_uri;
}

Tất cả domain

server {
        server_name "~^(?!www\.).*" ;
        return 301 $scheme://www.$host$request_uri;
}

Redirect WWW sang non-WWW

1 domain

server {
        server_name www.example.com;
        return 301 $scheme://example.com$request_uri;
}

Tất cả domain

server {
         server_name "~^www\.(.*)$" ;
         return 301 $scheme://$1$request_uri ;
}

Redirect HTTP sang HTTPS

server {
      server_name www.example.com;
      rewrite ^(.*) https://example.com$1 permanent;
}

Browser Caching

location ~* \.(?:ico|css|js|jpe?g|png|gif|svg|pdf|mov|mp4|mp3|woff)$ {
    expires 7d;
    add_header Pragma public;
    add_header Cache-Control "public";
    gzip_vary on;
}

Giới hạn IP truy cập

location /manager/ {
    # allow anyone in 192.168.1.0/24
    allow   192.168.1.0/24;
    
    # allow one workstation
    allow 127.0.0.1;

    # drop rest of the world 
    deny all;
}

Block IP

location /manager/ {
    # block one workstation
    deny 192.168.1.1;

    # block anyone in 127.0.1.1/24
    deny   127.0.1.1/24;

    # allow rest of the world 
    allow all;
}

Rewrite URL

Ví dụ rewrite(not redirect) đường dẫn http://example.com/test/1 -> http://example.com/test.html?id=1

rewrite ^/test/(.*)$ /test.html?id=$1 last;

Redirect URL cũ sang URL mới

rewrite ^/oldexample\.html /some/newexample.html permanent;

Redirect domain cũ sang domain mới

rewrite ^(.*) http://newdomain.com$1 permanent;

Ngăn những site khác sử dụng hình ảnh

Chặn những site khác sử dụng hình ảnh trực tiếp:

location ~* \.(gif|png|jpe?g)$ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. .domain.com *.domain.com;
     if ($invalid_referer) {
        return   403;
    }
}

Chặn sử dụng ảnh trong 1 thư mục cụ thể:

location /public/ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. .domain.com *.domain.com;
     if ($invalid_referer) {
        return   403;
    }
}

Hiển thị một hình ảnh khác thay vì báo lỗi

location ~* \.(gif|png|jpe?g)$ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. .domain.com *.domain.com;
     if ($invalid_referer) {
        rewrite (.*)\.(jpg|jpeg|png|gif)$ http://www.domain.com/images/warning.jpg;
    }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment