0

0

nginx的配置怎么转发到其他网站

王林

王林

发布时间:2023-05-11 19:28:16

|

7694人浏览过

|

来源于亿速云

转载

需求

有这样一个需求:项目中跳转到某个地址,但这个地址不想暴露给用户。

因此我们想到要做一层代理,通过项目某个路径直接用ngnix代理到这个地址。

查询相关文档后,发现方案如下:

用return 302

location /myBaidu {
  return 302 http://baidu.com;
}
  • 这种方案会直接跳转到baidu,并且会改变域名,相当于直接location.href = 'baidu.com' ,显然并不适合我们的需求。

  • 我们想要的效果是代理到百度,但是浏览器的url框内还是/sparkMonitor,那么就用proxy_pass

用proxy_pass

假设我们的网站域名为 http://myorigin.com/

location /myBaidu {
  proxy_pass http://www.baidu.com/;
}

这样配置后就可以由http://myorigin.com/myBaidu直接访问到百度页面,如下图

nginx的配置怎么转发到其他网站

关于proxy_pass使用的语法,与/有关

当路径加上/:相对路径,此时相当于代理到http://www.baidu.com/

location /myBaidu {
  proxy_pass http://www.baidu.com/;
}

如果访问http://myorigin.com/myBaidu/abc就相当于访问http://www.baidu.com/abc

当路径不加/:绝对路径,,此时相当于代理到http://www.baidu.com/myBaidu

location /myBaidu {
  proxy_pass http://www.baidu.com;
}

如果访问http://myorigin.com/myBaidu/abc就相当于访问http://www.baidu.com/myBaidu/abc

当路径加上/xxx/

location /myBaidu {
  proxy_pass http://www.baidu.com/xxx/;
}
  • 如果访问http://myorigin.com/myBaidu/abc就相当于访问http://www.baidu.com/xxx/abc

    Python开发网站指南 WORD版
    Python开发网站指南 WORD版

    本文档主要讲述的是Python开发网站指南;HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器 Python和其他程序语言一样,有自身的一套流程控制语句,而且这些语句的语法和其它程序语言类似,都有for, if ,while 类的关键字来表达程序流程。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

    下载

当路径加上/xxx

location /myBaidu {
  proxy_pass http://www.baidu.com/xxx;
}
  • 如果访问http://myorigin.com/myBaidu/abc就相当于访问http://www.baidu.com/xxxabc

其他问题

  • 用proxy_pass的方案反向代理到百度页面,没有任何问题。

  • 但是我们项目中是要求跳转到某个内网域名,而且此域名和http://myorigin.com/并没有互通,因此配置代理时,需要配置成ip地址,然后代理成功跳转

但此时打开代理的页面显示没有样式,查看控制台发现了报错如下:

nginx的配置怎么转发到其他网站

点进去查看错误如下图

nginx的配置怎么转发到其他网站

  • 由此,问题就很明显了,代理的网站用了根目录绝对路径去找到/static下的jquery文件,因此会直接在我们项目的域名下找http://myorigin.com/static文件,这样是怎么也无法找到代理项目的/static文件,因此jquery找不到报错,页面样式失效

  • 而且不只是/static文件,可能还有其他文件也找不到,而且还有可能路径与路由冲突,引发问题

  • 因此,我们可以得出结论,前端项目的nginx的配置转发到其他网站需要慎重,不是所有网站都可以走前端代理的,需要具体情况具体分析

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

10

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

15

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

42

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

7

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

6

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号