运行flutter run -d web时如何让本地开发服务器允许X-Frame-Options头
Flutter Web 本地开发服务器放行X-Frame-Options的实现方案
该需求可实现,以下是两种适配不同场景的可行方案:
方案1:直接使用Flutter内置参数配置(推荐,适用于Flutter 3.10及以上版本)
3.10以上版本的Flutter已原生支持通过--web-header参数为本地Web开发服务器注入自定义响应头,直接运行以下命令即可:flutter run -d web --web-header="X-Frame-Options: allowall"如果你需要完全移除该头的限制,也可以设置为空值:
flutter run -d web --web-header="X-Frame-Options: "注意:该配置仅适用于本地开发调试场景,生产环境的响应头配置需要在你部署所用的Web服务器(Nginx、Apache等)上单独设置
方案2:通过本地反向代理修改响应头(适用于3.10以下的旧版本Flutter)
低版本Flutter不支持自定义开发服务器响应头时,可以用反向代理工具转发请求同时覆盖X-Frame-Options配置:- 先指定固定端口启动Flutter Web开发服务:
flutter run -d web --web-port=8787 - 以Nginx为例,添加如下代理配置,启动Nginx后访问Nginx监听的端口即可:
location / {
proxy_pass http://localhost:8787;
proxy_hide_header X-Frame-Options;
add_header X-Frame-Options allowall always;
}
- 先指定固定端口启动Flutter Web开发服务:
内容的提问来源于stack exchange,提问作者Alexander Belokon
相关产品推荐
相关产品推荐

