自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Apache設(shè)置反向代理解決js跨域問題

開發(fā) 開發(fā)工具
為了簡單高效的開發(fā),建議前端的小伙伴啟用Apache反向代理解決js跨域問題。在解決js跨域問題之后,前端小伙伴可直接使用測試服務(wù)器上的api接口,不需要再在本地部署后端代碼,而后端小伙伴只需要維護測試服務(wù)器即可。

這是一個很簡單的方案,通過啟用Apache反向代理解決js跨域問題

為什么要這么做?

在現(xiàn)在的開發(fā)過程中大家會遇到這樣一個問題:后端代碼寫好之后,前端的小伙伴需要將后端代碼部署到本地才能正常使用api。若直接使用遠程服務(wù)器上的api(例如測試服務(wù)器上的api)就會出現(xiàn)js跨域問題,導(dǎo)致無法使用遠程服務(wù)器上的api。將后端代碼部署到前端小伙伴的本地會出現(xiàn)以下幾個問題:

前端小伙伴下載后端代碼到本地并配置,花時間!

后端代碼有更新之后,前端小伙伴也需要更新本地的后端代碼,花時間!

前端小伙伴本地安裝的服務(wù)器環(huán)境可能略有差異,從而導(dǎo)致后端代碼在本機上不能正常運行,需要后端小伙伴協(xié)助調(diào)試,花時間!

為了簡單高效的開發(fā),建議前端的小伙伴啟用Apache反向代理解決js跨域問題。在解決js跨域問題之后,前端小伙伴可直接使用測試服務(wù)器上的api接口,不需要再在本地部署后端代碼,而后端小伙伴只需要維護測試服務(wù)器即可。

什么是反向代理?

這里簡單介紹一下反向代理:如下圖所示,用戶A一直使用原始服務(wù)器B的資源,但是用戶A始終認為它訪問的是原始服務(wù)器B而不是代理服務(wù)器Z,但實用際上反向代理服務(wù)器接受用戶A的應(yīng)答,從原始資源服務(wù)器B中取得用戶A的需求資源,然后發(fā)送給用戶A。由于防火墻的作用,只允許代理服務(wù)器Z訪問原始資源服務(wù)器B。盡管在這個虛擬的環(huán)境下,防火墻和反向代理的共同作用保護了原始資源服務(wù)器B,但用戶A并不知情。

準備

請確保本地已經(jīng)正確安裝了xampp或者wamp

怎么做?

1. 在xampp或者wamp安裝目錄下,修改httpd.conf配置文件,去掉以下兩行前面 # 號,從而啟用Apache proxy module。

  1. LoadModule proxy_module modules/mod_proxy.so 
  2. LoadModule proxy_http_module modules/mod_proxy_http.so  

2. 找到httpd-vhosts.conf配置文件,在virtualHost里面配置反向代理,完成之后的配置代碼如下:

  1. <VirtualHost *:80> 
  2.     ProxyRequests Off 
  3.  
  4.     <Proxy *> 
  5.       Order deny,allow 
  6.       Allow from all 
  7.     </Proxy> 
  8.  
  9.     ProxyPass /project http://ip_address/project 
  10. </VirtualHost>  
  • ProxyRequests Off 指令是指采用反向(reverse)代理
  • ProxyPass 指令允許將一個遠端服務(wù)器映射到本地服務(wù)器的 URL 空間中。
  • 配置完成之后,訪問 http://localhost/project 實際就是訪問http://ip_address/project 上的資源。簡單的說,我們通過這個配置欺騙了js,讓js以為我們一直在相同域名下訪問資源。

3. 重啟Apache,重命名之前本地的后端代碼文件夾(反正讓本地后端代碼不能夠正常運行即可),然后測試一下看api數(shù)據(jù)讀取是否正常。若api數(shù)據(jù)讀取正常,那么Apache反向代理設(shè)置成功并且正常工作。

責任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2019-04-10 10:32:16

CORSNginx反向代理

2017-08-20 12:49:59

瀏覽器跨域服務(wù)器

2018-12-12 15:50:13

2011-04-21 16:09:17

JavascriptCookie

2023-11-20 08:02:49

2021-06-06 13:05:15

前端跨域CORS

2024-10-29 16:41:24

SpringBoot跨域Java

2009-02-18 09:30:10

AJAX跨域XML

2019-03-01 09:55:28

HTTPMock架構(gòu)

2024-12-02 14:30:20

2024-02-27 08:14:51

Nginx跨域服務(wù)

2024-01-25 11:04:51

跨域問題反向代理層網(wǎng)關(guān)層

2009-05-21 14:47:38

WEB開發(fā)JsonAjax

2012-03-27 15:23:15

JSONPAJAX

2022-09-07 07:05:25

跨域問題安全架構(gòu)

2022-03-11 10:01:47

開發(fā)跨域技術(shù)

2022-02-22 11:54:05

跨域項目前后端

2018-01-10 10:15:48

NginxIP問題

2023-02-15 07:03:41

跨域問題面試安全

2023-09-08 00:07:41

點贊
收藏

51CTO技術(shù)棧公眾號