背景:
用flutterweb工程做了一個產物化平臺,現在想在裏面去展示aar構建的信息。nexus有api可以對外來訪問。通過dio去拿相應的數據即可。
問題:
80端口下面的flutter web工程訪問8081端口下的nexus服務,請求失敗。
通過postman或者客戶端可以成功拿到數據,但是flutter web的dio卻不行。
DioError[DioErrorType.RESPONSE]:XMLHttpRequesterror
解決辦法:
查了一下,是跨域問題導致。服務部署在nginx下面。
flutter_web工程啓動後在默認的80端口上面監聽。訪問的8081端口部署的nexus服務中的api失敗。通過nginx的配置,把8081端口的服務通過代理配置到當前路徑下面。這樣間接對8081的服務進行訪問。
原來的訪問地址變成了
剛開始發現調試無法成功,以爲配置有問題,後來發現調試的時候默認不是80端口,所以還是有跨域問題,而部署到80端口後,發現能正常訪問到數據了。