栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Flutter Web 使用Nginx解决跨域

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flutter Web 使用Nginx解决跨域

Flutter Web 使用Nginx 反向代理解决跨域
  • 一、什么是跨域
  • 二、Nginx 端口配置

一、什么是跨域

当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。

当前页面url被请求页面url是否跨域原因
http://www.test.com/http://www.test.com/index.html同源(协议、域名、端口号相同)
http://www.test.com/https://www.test.com/index.html跨域协议不同
http://www.test.com/http://www.baidu.com/跨域主域名不同(test/baidu)
http://www.test.com/http://blog.test.com/跨域子域名不同(www/blog)
http://www.test.com:8080/http://www.test.com:7001/跨域端口号不同(8080/7001)
二、Nginx 端口配置

2.1 nginx 配置

 server {
        listen       7777;
        server_name  localhost;

        location / {
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Host $http_host;
            proxy_pass "http://localhost:8002";
            
        }

        location /rs/ {
            proxy_pass "http://localhost:8888";
            index  index.html index.htm index.jsp;
        }
    }

2.2 Flutter web 启动端口设置

flutter run -d chrome --web-port 8002  --web-hostname 127.0.0.1

2.3 Server 接口示例

2.3.1 Flutter 中使用代理地址

http://127.0.0.1:7777/rs/addconfig

2.3.2 Server API 实际地址

http://127.0.0.1:8888/rs/addconfig

2.4 操作步骤

  1. Flutter 项目使用固定端口启动(如2.2所示),此时Flutter项目部署在8002端口。
  2. 启动后修改链接为http://127.0.0.1:7777/#/访问,此时需要restart 项目生效。
  3. Dart 中Server 接口改为2.3.1所示,此时前后端访问的ip:host一致,成功解决跨域问题。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/308586.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号