nginx解決跨域問題

2021-09-28 11:40:43 字數 1055 閱讀 5954

springboot專案中寫乙個get型別的/hello介面,返回字串「hello spring boot.」,埠8080

在nginx的html目錄下部署乙個靜態頁面testget.html,埠80

如果要在這個html頁面訪問/hello介面,則會因為埠不同而遇到跨域問題。

一、在nginx的配置檔案default.conf中加入反向**的配置

配置解釋:

1.由配置資訊可知,我們讓nginx監聽localhost的80埠,**a與**b的訪問都是經過localhost的80埠進行訪問。

2.我們特殊配置了乙個「/api」目錄的訪問,並且對url執行了重寫,最後使以「/api」開頭的位址都轉到「http://www.*.xyz:8080」進行處理。

3.rewrite ^/api/(.)$ /$ 1 break;

代表重寫攔截進來的請求,並且只能對網域名稱後邊以「/api」開頭的起作用,例如www.a.com/api/msg?x=1重寫。只對/api重寫。

rewrite後面的引數是乙個簡單的正則 ^/api/(.)$ ,$1代表正則中的第乙個(),$2代表第二個()的值,以此類推。

break代表匹配乙個之後停止匹配。

二、在html中修改原來的請求位址

既然配置了nginx,那麼所有的訪問都要走nginx,而不是走**原本的位址

將原來的http://www.***.xyz:8080/hello改為http://www.***.xyz/api/hello

問題解決,訪問該html進行測試

nginx解決跨域問題!

1 問題背景 前端呼叫線上後段時出現跨域問題!解決方法nginx的location頭部增加配置 add header access control allow headers add header access control allow methods get,post,options,head,...

nginx 解決跨域問題

跨域問題的存在 如果用ajax請求的資源網域名稱和原網頁的網域名稱不一致就會產生跨域請求問題,為了解決這一問題,可以在http響應裡面設定響應頭為允許跨域,但一般不會這麼做。使用nginx來解決跨域問題的手段是 因為nginx可以進行反向 因此可以進行網域名稱對映,讓不同服務的網域名稱對映為有相同的...

nginx解決跨域問題

問題描述是為了解釋下面的 yue 這個和解決方法沒什麼關係,可以忽略此部分直接看到解決辦法。我在寫乙個登陸系統的前端的時候,登陸成功,需要從登陸頁面轉到使用者profile頁面,出現了跨域問題。具體如下 在登陸頁面用ajax向 http localhost 8082 yue login 傳送post...