????????前后端分離開發WEB端(瀏覽器),不可避免的就是要解決跨域問題,因為這是瀏覽器的一種安全機制,當請求的(1)域名、(2)端口、(3)協議 。其中的一項與源地址信息不同的時候,就會發生這個問題。
? ? ? ? 解決的方法很簡單,可以通過Nginx的轉發來解決,比如你訪問網頁的端口是80,API接口是8080,我們要在服務器的Nginx中再加一個轉發端口8090,然后讓網頁訪問8090端口,讓這個8090端口訪問實際API接口8080。
#轉發代理(解決跨域)server {listen 8090;server_name localhost;location / {add_header Access-Control-Allow-Origin '*';add_header Access-Control-Allow-Methods '*';add_header Access-Control-Allow-Headers '*';add_header Access-Control-Max-Age 1728000;# 預檢請求的響應直接返回if ($request_method = 'OPTIONS'){return 204;}proxy_pass http://localhost:8080;}}
? ? ? ? 這里我們設置上幾個header頭,允許所有IP,訪問類型等,最后在轉發給實際接口8080。
????????這樣就完美的解決了前后端瀏覽器跨域問題!