欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Nginx服務(wù)器中如何處理AJAX跨域請求

今天小編給大家分享一下Nginx服務(wù)器中如何處理AJAX跨域請求的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

目前成都創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、榆林網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

nginx 實(shí)現(xiàn)ajax跨域請求
ajax從一個域請求另一個域會有跨域的問題。那么如何在nginx上實(shí)現(xiàn)ajax跨域請求呢?要在nginx上啟用跨域請求,需要添加add_header access-control*指令。如下所示:

location /{
add_header 'access-control-allow-origin' 'http://other.subdomain.com';
add_header 'access-control-allow-credentials' 'true';
add_header 'access-control-allow-methods' 'get';
 
...
...
the rest of your configuration here
...
...
 
}

注釋如下:

  • 第一條指令:授權(quán)從other.subdomain.com的請求

  • 第二條指令:當(dāng)該標(biāo)志為真時,響應(yīng)于該請求是否可以被暴露

  • 第三天指令:指定請求的方法,可以是get,post等

如果需要允許來自任何域的訪問,可以這樣配置:

access-control-allow-origin: *

重啟nginx

service nginx reload

ajax跨域請求測試
成功時,響應(yīng)頭是如下所示:

http/1.1 200 ok
server: nginx
access-control-allow-origin: other.subdomain.com


用nginx和apache的反向代理解決ajax的跨域問題

         傲游主站上有一個很吸引人的功能,就是下載次數(shù)計數(shù),如下圖所示。這個功能就是利用了上述技術(shù)實(shí)現(xiàn)的。

Nginx服務(wù)器中如何處理AJAX跨域請求

 從下圖的firebug中可以看到,該頁面通過ajax反復(fù)請求一個名為/api/counter的路徑以徑獲取最新的下載數(shù)量。

Nginx服務(wù)器中如何處理AJAX跨域請求

而這個輸出路徑實(shí)際上在服務(wù)器上是不存在的,這個路徑只是另外一臺服務(wù)器某個路徑而已,這就是使用了nginx的反向代理功能實(shí)現(xiàn)的。
      1、nginx
         回到計數(shù)器的這個例子,nginx的配置片段如下所示:

 location /api/counter {
       rewrite (.*) /out break;
        proxy_pass http://hfahe.maxthon.com;
       proxy_set_header host "hfahe.maxthon.com";
     }

         那么訪問http://www.maxthon.cn/api/counter這個地址,輸出和直接訪問http://hfahe.maxthon.com/out這個地址是完全一樣的,如下圖所示。通過這種方式,本地的ajax就能夠讀取到其他遠(yuǎn)程服務(wù)器的數(shù)據(jù)了。

Nginx服務(wù)器中如何處理AJAX跨域請求

proxy_set_header參數(shù)在需要進(jìn)行域名的轉(zhuǎn)發(fā)時使用。nginx還可以進(jìn)行端口的轉(zhuǎn)發(fā),只需將proxy_pas
s配置修改為http://hfahe.maxthon.com:81這種形式即可。
         2、apache
         apache反向代理需要使用mod_proxy和mod_proxy_http.so等模塊。
         在windows下的配置如下所示:

 loadmodule proxy_module modules/mod_proxy.so
     loadmodule proxy_http_module modules/mod_proxy_http.so
 
     proxyrequests off
     proxypass /start http://i.maxthon.cn/
 
     proxypass /proxy http://192.168.1.111/proxy/
     proxypassreverse /proxy http://192.168.1.111/proxy/ # for server redirect

         proxypass和proxypassreverse指令都是反向代理需要的配置。proxypass用于將一個遠(yuǎn)程服務(wù)器映射到本地服務(wù)器的url空間中。而proxypassreverse主要解決后端服務(wù)器重定向造成的繞過反向代理的問題,在后端服務(wù)器會進(jìn)行服務(wù)器端跳轉(zhuǎn)時使用,對http重定向時回應(yīng)中的location、content-location和uri頭里的url進(jìn)行調(diào)整。
         而在linux下的配置如下所示:

 loadmodule proxy_module /usr/lib/apache2/modules/mod_proxy.so
     loadmodule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
 
     proxyrequests off
     proxypass /fb http://fb.maxthon.com/ajax
     proxypassreverse /fb http://192.168.1.111/proxy/ # for server redirect

以上就是“Nginx服務(wù)器中如何處理AJAX跨域請求”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站題目:Nginx服務(wù)器中如何處理AJAX跨域請求
新聞來源:http://chinadenli.net/article6/jgcsig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作網(wǎng)站維護(hù)、Google云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)