百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

宝塔面板使用Nginx反向代理解决跨域问题

off999 2025-03-30 19:51 49 浏览 0 评论

通过 Nginx 反向代理解决跨域问题的核心思路是:将不同域名或端口的请求统一代理到同一域名下,从而绕过浏览器的跨域限制。以下是宝塔面板中配置反向代理的具体步骤:


一、反向代理解决跨域的原理

  • 跨域问题的本质 浏览器出于安全考虑,禁止前端代码通过 XMLHttpRequestFetch API 直接访问不同域名、端口或协议的资源(即跨域请求)。
  • 反向代理的作用 通过 Nginx 将不同域名或端口的请求代理到同一域名下,让浏览器认为所有请求均来自同一源,从而避免跨域限制。

二、宝塔面板配置反向代理步骤

方法 1:通过宝塔图形界面配置

  • 登录宝塔面板: 进入「网站」模块,找到需要配置的网站,点击右侧的「设置」按钮。
  • 添加反向代理:

点击「反向代理」标签 → 选择「添加反向代理」。

填写以下信息:

  1. 代理名称:自定义(如 proxy-api
  2. 目标URL:填写后端服务的地址(如 http://127.0.0.1:8080https://api.example.com
  3. 发送域名:默认 $host(或手动指定为后端服务的域名,如 api.example.com

点击「提交」。


  • 配置高级参数(可选) 在反向代理的「配置文件」中,可添加以下参数确保请求头透传:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

方法 2:手动修改 Nginx 配置文件

定位配置文件 配置文件路径:
/www/server/panel/vhost/nginx/你的网站域名.conf

添加反向代理规则server 块中添加以下配置(示例代理到本地 8080 端口的后端服务):

location /api/ {
 proxy_pass http://127.0.0.1:8080/; # 后端服务地址
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;

 # 可选:解决 WebSocket 代理问题
 proxy_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";
}

重启 Nginx

nginx -t # 检查配置语法
systemctl restart nginx # 重启生效

三、配置示例与说明

示例场景

  • 前端域名: https://www.example.com
  • 后端接口: https://api.example.com:8080

通过反向代理将前端请求 /api/ 路径代理到后端服务:

server {
    listen 80;
    server_name www.example.com;

    location /api/ {
        proxy_pass http://api.example.com:8080/;  # 后端地址
        proxy_set_header Host api.example.com;    # 关键:指定后端接收的域名
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        
        # 可选:解决跨域头(部分场景需额外配置)
        add_header Access-Control-Allow-Origin *; 
    }

    # 其他配置...
}

四、反向代理 vs CORS 头配置

方案

适用场景

优缺点

反向代理

前后端分离项目,需隐藏后端地址

无需修改后端代码,安全性高,但需维护代理规则

CORS 头配置

直接暴露后端 API 给多前端域名使用

配置简单,但需后端支持,存在安全风险


五、注意事项

路径匹配规则

若前端请求路径为 /api/user,后端实际接口为 /user,可通过 proxy_pass 调整:

location /api/ {
 proxy_pass http://backend-server/; # 末尾的 `/` 会去除 `/api` 前缀
}

WebSocket 代理 如需代理 WebSocket,需添加 UpgradeConnection 头(见方法 2 示例)。

HTTPS 配置 若前端为 HTTPS,确保后端服务或反向代理也支持 HTTPS,避免混合协议问题。

调试工具 使用浏览器开发者工具的 Network 标签检查请求是否被正确代理,并观察响应头中的 X-Proxy 信息(如有)。


通过上述配置,所有通过 /api/ 的请求会被 Nginx 转发到后端服务,且浏览器认为请求与前端同源,彻底解决跨域问题。

相关推荐

宏基acer官网商城(宏基官方商城)

宏碁本本底部有个序列号标签,不是粉色的那个,粉色的是系统的序列号,白色的是本本的出厂序列号,上宏碁官网查查你的序列号就知道真假了。在盖子的后面就可以查询到序列号,或者是去网上查询宏碁笔记本在官网下...

网盘在哪里打开(华为网盘在哪里打开)

给你的是一个网盘地址吧,直接把这个地址放到浏览器地址栏就好了,如果有提取码,他会提示你输入提取码的。一般都是在网上找到百度云链接,然后把文件保存在自己的百度网盘文件夹里面的。打开百度网盘app,...

win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
  • win10系统安全模式怎么进入(win10安全模式如何进入)
win7sp1专业版(win7专业版vl)

Win7系统SP1是系统发布后第一个SP包x64是64位操作系统。Windows7指的是微软公司的Windows7操作系统ultimate指的是旗舰版(with表示伴随,说明这是提供商所提供...

手写输入法手写板怎么设置(手写输入法手写板怎么设置 iphone)

手写输入法设置方法:1、打开手机至桌面主页,保持手机处于工作状态;  2、在手机桌面主页列表找到设置,点击打开并进入设置主界面;  3、在设置主界面找到系统设置选项,点击打开并进入系统设置主界面;  ...

推荐杀毒软件(下载杀毒软件最新版)
推荐杀毒软件(下载杀毒软件最新版)

好的杀毒软件有360杀毒,金山毒霸,AVG杀毒等等。1,360杀毒,品牌介绍:360安全卫士品牌是一款由奇虎360公司推出的功能强、效果好、受用户欢迎的安全杀毒软件。360安全卫士拥有查杀木马、清理插件、修复漏洞、电脑体检、电脑救援、保护隐...

2025-11-12 08:51 off999

百度云盘官网(百度云盘官网下载)

网盘在手机上面仅仅是一个图标,他是不占用手机硬盘的,当然,如果你从网盘上下载了文件到本地,下载的文件就会占用手机的硬盘空间。要找到这个文件,可以通过文件管理器来进行查找,也可以通过路径的方式来查找,但...

路由器设置管理系统(路由器设置管理员密码怎么设置)
路由器设置管理系统(路由器设置管理员密码怎么设置)

电脑端:把华为路由器接通电源,并开启WIFI,如果你使用电脑PC端,请使用网线连接路由器;成功连接到路由器之后,打开电脑浏览器,在浏览器中输入IP地址:192.168.3.1即可进入华为路由器管理界面;进入我要上网页面。在上网方式下拉框中,...

2025-11-12 07:51 off999

win10家庭版密钥在哪里看(windows10家庭版密钥在哪里)

要查看Windows10系统的激活密钥,请按照以下步骤操作: 1.点击“开始”菜单,然后选择“设置”(齿轮图标)。 2.在“设置”窗口中,选择“更新和安全”。 ...

两个wifi路由器怎么连接(两个wifi路由器设置方法)

无线路由器再连接一个无线路由器的设置方法如下:一、主路由器设置方法:先将网线(总线)插在无线路由器的WAN口,用一条网线一头插入无线路由器的任意LAN口一头连接电脑网卡,开启路由器的电源。电脑打开浏览...

windows7的安装过程(windows7安装步骤有哪些)

安装教程注意事项:1、本系统可以直接安装,不需要制作U盘启动盘,适合能正常开机的电脑。2、安装系统后C盘(包括桌面)数据会丢失,重要的东西请自行备份。3、此安装方法只适用于当前系统为XP、Win7、W...

惠普打印机插件手机版(惠普打印插件app)

您好,感谢您选择惠普产品。不是所有的打印机都可以实现手机打印功能的。一般来说支持ariprint的打印机,并且手机也有该功能,才能实现打印功能。如果您不需要实现打印功能,那么这个插件对您来说可能用处不...

电脑热点怎么禁止别人连接(怎么让电脑的热点不被关闭)

方法/步骤1/7首先,在我们的屏幕上找到“设置”。2/7点击进入设置之后,正数第三位就是个人热点。3/7在个人热点中,我们可以设置热点密码,开启关闭热点。4/7排名第三的是连接管理,可以设置允许一个至...

常用浏览器有哪些

电脑常用浏览器好用的方法步骤1从用户体验和功能扩展性来看,Chrome是最好用的浏览器。2Chrome拥有快速的页面加载速度、优秀的标签页管理和内置的开发者工具等功能,还有不断更新的扩展程序,能够...

u盘怎么取消读写保护(优盘怎么去掉读写保护)

如果您的U盘启动了读写保护,那么就无法进行数据的读取和写入操作。以下是一些可能的解决方法:1.检查开关或按钮:一些U盘有物理开关或按钮,用于启用或禁用读写保护。您可以检查一下U盘上是否有这样的开关或...

取消回复欢迎 发表评论: