// 前端(示例:Vue/React/原生JS):iframe 指向自己后端的代理接口 // 后端示例(Node.js/Express):代理接口实现 const express = require('express'); const axios = require('axios'); const app = express(); app.get('/api/proxy', async (req, res) => { try { const targetUrl = req.query.url; // 请求目标网站(后端请求不受前端跨域/iframe限制) const response = await axios.get(targetUrl, { headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', // 可添加其他必要请求头 }, // 禁用重定向跟随(避免跳转后丢失目标内容) maxRedirects: 0 }); // 清除可能导致嵌套限制的响应头 delete response.headers['x-frame-options']; delete response.headers['content-security-policy']; // 将内容返回给前端 res.set(response.headers); res.send(response.data); } catch (err) { res.status(500).send('代理请求失败:' + err.message); } }); app.listen(3000, () => console.log('代理服务启动:http://localhost:3000'));