這篇文章主要介紹“nginx跨域配置教程”,在日常操作中,相信很多人在nginx跨域配置教程問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”nginx跨域配置教程”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)公司是一家專業(yè)提供洮南企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、html5、小程序制作等業(yè)務(wù)。10年已為洮南眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
做前端避免不了會遇到跨域的問題,跨域其中一個解決辦法就是使用nginx代理來解決,本文也只討論使用nginx的解決辦法。
配置如下,只展示server部分,http部分按照默認(rèn)配置:
## https server server { listen 19443 ssl; server_name localhost 127.0.0.1; ssl_certificate local.crt; ssl_certificate_key local.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; access_log logs/host.access.log main; location / { root html; index index.html index.htm; } location /scanIdCard/ { proxy_pass https://127.0.0.1:9199; if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' '*'; add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain; charset=utf-8'; add_header 'Content-Length' 0; add_header Access-Control-Allow-Headers 'Authorization,X-Requested-With,Content-Type,Origin,Accept' always; return 200; } proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; rewrite "^/scanIdCard/(.*)$" /$1 break; } }
場景說明:這是一個代理身份證掃描的轉(zhuǎn)發(fā),當(dāng)前端工程部署到云服務(wù)器上時(shí),用戶使用瀏覽器去訪問云服務(wù)器,那么這時(shí)候如果需要在本地電腦上讀取身份證信息就會有跨域的問題,為什么呢?因?yàn)樵品?wù)器上的前端工程的訪問地址肯定是域名+端口號,比如:www.baidu.com:19999等等,而身份證讀卡器的服務(wù)是在本地,訪問地址是localhost+一個與19999不同的端口,例如:localhost:8999等等,所以就產(chǎn)生了跨域的問題。不過,跨域是瀏覽器的限制,并不是服務(wù)端的限制,可以通過在服務(wù)端設(shè)置CORS來解決。
配置項(xiàng)中,https 服務(wù)監(jiān)聽端口是19443,所以在前端頁面請求中,請求的地址也得是:https://127.0.0.1:19443/scanIdCard/********,這樣才能請求到nginx中進(jìn)行轉(zhuǎn)發(fā)。
到此,關(guān)于“nginx跨域配置教程”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!