我們之前使用tomcat作為web容器裝載前後端服務時,我們使用的是springboot的cors來解決跨域的問題,然而當我們使用nginx來請求後端server所對映的靜態資源時,同樣存在跨域的安全性,這就需要我們在
nginx中設定跨域
server
其實上面配置的和我們在springboot上面配置差不多:
package com.imooc.config;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import org.springframework.web.cors.corsconfiguration;
import org.springframework.web.cors.urlbasedcorsconfigurationsource;
import org.springframework.web.filter.corsfilter;
@configuration
public
class
corsconfig
@bean
public corsfilter corsfilter()
}
防止別的機器盜用我們的靜態資源鏈結,因為當別人知道了我們的靜態資源鏈結後可以直接使用鏈結來展示,這樣就會增加我們靜態資源所在機器的記憶體壓力,想要避免這種情況可以在nginx中新增防盜煉配置,使得即使別人知道我們靜態資源鏈結時,也無法請求到內容。
server
}
通常情況下預設是輪詢這種方式
當然如果你在具體的server後面新增了weight=?這個引數的話將啟動權重的方式來選擇相應的伺服器
upstream main
server
}
upstream main
...
upstream main
...
upstream main
#worker程序數也是和這個引數有關係,當沒有使用共享記憶體時這個引數將作用到每個worker程序上
worker_processes 2;
upstream main
upstream main
upstream main
# 則代表在15秒內請求某一server失敗達到2次後,則認為該server已經掛了或者宕機了,隨後再過15秒,這15秒內不會有新的請求到達剛剛掛掉的節點上,而是會請求到正常運作的server,15秒後會再有新請求嘗試連線掛掉的server,如果還是失敗,重複上一過程,直到恢復。
max_fails=2 fail_timeout15s;
upstream main
server
}
瀏覽器快取: 加速使用者訪問,提公升單個使用者體驗,快取在本地(主要是一些靜態檔案,css/js/html/**類檔案等)
nginx快取:
控制瀏覽器快取:
location /files
# keys_zone 設定共享記憶體空間名稱以及占用空間大小
# max_size 設定快取大小
# inactive 超時清理的時間長度
# use_temp_path 是否使用臨時目錄,開啟會影響nginx的效能
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mychache:5m max_size=1g inactive=1m use_temp_path=off;
locatin /
}
重啟nginx
現在後端伺服器內網ip是13.141.1.271,而兩個二級網域名稱都被解析到nginx所在的機器上了
upstream api.doudou.com
server
}# 將前端專案**放在/home/website/frontend目錄下
server
}
後端開發之Redis篇 分布式會話
會話session代表的是客戶端與伺服器的一次互動過程,這個過程可以是連續也可以是時斷時續。曾經在servlet時代 jsp 一旦使用者與服務端互動,伺服器tomcat就會為使用者建立乙個session,同時前段會有乙個jsessionid,每次互動都會攜帶。如此一來,伺服器只要在接到使用者請求時候...
前端開發 nginx篇
mac上搭建nginx教程 通過homebrew 安裝nginxbrew install nginx 配置 新增配置檔案在 usr local etc nginx servers目錄下 一般都是修改 usr local etc nginx目錄下nginx.conf 檔案,後來發現nginx.conf...
NGINX之安裝篇
今天開始我們一步一步在乙個純淨系統搭建乙個nginx執行環境並進行相關配置.環境搭建 首先要有乙個linux環境,這裡我們使用金山網遊伺服器普遍使用的linux版本centos.centos是基於redhat enterprise linux源 重新編譯並去除redhat徽標的產物。centos完全...