您好,登錄后才能下訂單哦!
這篇文章主要介紹“nginx跨域配置教程”,在日常操作中,相信很多人在nginx跨域配置教程問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”nginx跨域配置教程”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
做前端避免不了會遇到跨域的問題,跨域其中一個解決辦法就是使用nginx代理來解決,本文也只討論使用nginx的解決辦法。
配置如下,只展示server部分,http部分按照默認配置:
## 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; } }
場景說明:這是一個代理身份證掃描的轉發,當前端工程部署到云服務器上時,用戶使用瀏覽器去訪問云服務器,那么這時候如果需要在本地電腦上讀取身份證信息就會有跨域的問題,為什么呢?因為云服務器上的前端工程的訪問地址肯定是域名+端口號,比如:www.baidu.com:19999等等,而身份證讀卡器的服務是在本地,訪問地址是localhost+一個與19999不同的端口,例如:localhost:8999等等,所以就產生了跨域的問題。不過,跨域是瀏覽器的限制,并不是服務端的限制,可以通過在服務端設置CORS來解決。
配置項中,https 服務監聽端口是19443,所以在前端頁面請求中,請求的地址也得是:https://127.0.0.1:19443/scanIdCard/********,這樣才能請求到nginx中進行轉發。
到此,關于“nginx跨域配置教程”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。