當出現403跨域錯誤的時候 No 'Access-Control-Allow-Origin' header is present on the requested resource時,
需要給Nginx伺服器配置以下響應的header參數以解決跨域問題;
方法1,使用return 301重定向:
方法2,使用rewrite重定向:
對于return和rewrite的差別,可以閱讀這篇文章:Creating NGINX Rewrite Rules
另外:推薦自動生成正确的 Nginx SSL 配置網站(預設開啟了 HSTS ):https://mozilla.github.io/server-side-tls/ssl-config-generator/
指令作用
比對指定的請求uri(請求uri不包含查詢字元串,如http://localhost:8080/test?id=10,請求uri是/test)
文法形式
比對模式及順序
比對方式:普通字元串(literal string)和正規表達式(regular expression),其中 ~ 和 ~* 用于正規表達式, 其他字首和無任何字首都用于普通字元串。
比對順序:先比對普通字元串,将最精确的比對暫時存儲;
常用配置指令alias、root、proxy_pass
1、alias:别名配置,用于通路檔案系統,在比對到location配置的URL路徑後,指向alias配置的路徑,如:
請求/test/1.jpg(省略了協定和域名),将會傳回檔案/usr/local/1.jpg。
如果alias配置在正則比對的location内,則正規表達式中必須包含捕獲語句(也就是括号()),而且alias配置中也要引用這些捕獲值。如:
請求中隻要能比對到正則,比如/img/flower.png 或者 /resource/img/flower.png,都會轉換為請求/usr/local/images/flower.png。
2、root:根路徑配置,用于通路檔案系統,在比對到location配置的URL路徑後,指向root配置的路徑,并把請求路徑附加到其後,如:
請求/test/1.jpg,将會傳回檔案/usr/local/test/1.jpg。
3、proxy_pass——反向代理配置,用于代理請求,适用于前後端負載分離或多台機器、伺服器負載分離的場景,在比對到location配置的URL路徑後,轉發請求到proxy_pass配置額URL,是否會附加location配置路徑與proxy_pass配置的路徑後是否有"/"有關,有"/"則不附加,如:
請求/test/1.jpg,将會被nginx轉發請求到http://127.0.0.1:8080/1.jpg(未附加/test/路徑)。
通過web界面檢視時Nginx需要開啟status子產品,也就是安裝Nginx時加上 --with-http_stub_status_module,然後配置Nginx.conf,在server點裡面加入如下内容
location /status {
stub_status on;
access_log /usr/local/nginx/logs/status.log;
auth_basic "NginxStatus";
}
配置完後重新啟動Nginx後,我們可以通過浏覽器通路http://localhost/status ,如圖:

參數解析:
參數
釋義
Active connections
目前 Nginx 正處理的活動連接配接數
server accepts handled requests
總共處理了467079 個連接配接 , 成功建立 467079次握手,總共處理了5387526個請求
Reading
Nginx讀取到用戶端的 Header 資訊數
Writing
Nginx傳回給用戶端的 Header 資訊數
Waiting
開啟 keep-alive 的情況下,這個值等于 active - (reading + writing),意思就是 Nginx 已經處理完正在等候下一次請求指令的駐留連接配接