1. 程式人生 > >nginx配置跨域、gzip加速、代理詳細講解

nginx配置跨域、gzip加速、代理詳細講解

color log 第一個 exp 重啟 優先 監聽端口 fault 選擇

1、配置跨域

這個很簡單,直接打開配置nginx.conf ,在http下配置下面三行代碼;當然如果你是想某一個虛擬主機下跨域,那就在哪個server下面添加

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

2、配置gzip,壓縮訪問的js、css 、圖片,提高網站訪問速度

gzip on;                      #開啟Gzip
gzip_min_length  1k;          #大於1K的才壓縮
gzip_buffers     4 16k;       #以16k為單位,按照原始數據大小以16k為單位的4倍申請內
gzip_comp_level  2;            #壓縮級別,1-10,數字越大壓縮的越好,時間也越長
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss; #壓縮的文件類型
gzip_vary on;                 #啟用應答頭"Vary: Accept-Encoding"
gzip_proxied   expired no-cache no-store private auth; #Nginx作為反向代理的時候啟用,根據某些請求和應答來決定是否在對代理請求的應答啟用gzip壓縮,是否壓縮取決於請求頭中的“Via”字段
gzip_disable   "MSIE [1-6]\.";#IE1-6不壓縮

3、代理配置

server{
	listen 80;                       #監聽端口
	listen 443 ssl;                  #如果是https 訪問 開啟證書驗證
	server_name www.test.cn test.cn; #域名,多個域名空格分開
	ssl_certificate /usr/local/nginx/conf/cert/test.cn.crt; 
	ssl_certificate_key /usr/local/nginx/conf/cert/test.cn.key;
	location / {
		proxy_pass http://168.102.45.111/; #代理轉發的地址
	}
}

配置好後,重啟nginx ,然後訪問 https://www.test.cn/login/index.html 就等於 直接 訪問 http://168.102.45.11/login/index.html ;但是瀏覽器顯示的地址還是https://www.test.cn域名的,這就有點類似框架,看到的未必是真的。做代理可以防止流量攻擊。

4、server_name 匹配優先級

(1)完全匹配

(2)通配符在前的,如*.test.com

(3)在後的,如www.test.*

(4)正則匹配,如~^\.www\.test\.com$

如果都不匹配

(5)優先選擇listen配置項後有default或default_server的

(6)找到匹配listen端口的第一個server塊

nginx配置跨域、gzip加速、代理詳細講解