`

nginx 反向代理的坑

 
阅读更多
nginx 反向代理的坑
niginx conf 反向代理的配置

# 暂时结论: 针对纯正的域名 http://localhost:8080/ 不带 html/abc之类
# proxy_pass 后面的url, 最后如果是 "/", 则整个替换, 参考ng1, ng6

# 暂时结论: 针对纯正的域名 http://localhost:8080 不带 html/abc之类
# proxy_pass 后面的url, 最后如果不是 "/", 则追加替换, 参考ng2

# 暂时结论: 针对不纯正的域名 http://localhost:8080/html/test.jsp 之类
# proxy_pass 后面的url, 是以/开头, 匹配后面的内容, /作为开始符号, 不是内容, 如 /abc, 则用abc匹配, /abc/, 则用abc/匹配

		#test http://localhost/ng1/test.jsp
		# -> http://localhost:8080/test.jsp, 这个是最终结果
		# 解释: localhost/ng1/ 和 http://localhost:8080/ 进行替换
		location /ng1/ {
			proxy_pass http://localhost:8080/;
		}
		
		#test http://localhost/ng2/test.jsp
		# -> http://localhost:8080/ng2/test.jsp
		# 解释: http://localhost:8080 的后面直接添加 /ng2/test.jsp
		location /ng2/ {
			proxy_pass http://localhost:8080;
		}
		#test http://localhost/ng1a/test.jsp
		# -> http://localhost:8080//test.jsp, 这个是最终结果
		# 解释: localhost/ng1a 和 http://localhost:8080/ 进行替换, 所以成了http://localhost:8080/ 加 /test.jsp, 即 http://localhost:8080//test.jsp
		location /ng1a {
			proxy_pass http://localhost:8080/;
		}
		
		#test http://localhost/ng2a/test.jsp
		# -> http://localhost:8080/ng2a/test.jsp
		# 解释: http://localhost/ng2a 与 http://localhost:8080替换, 所以为了 http://localhost:8080 加 /test.jsp 即 http://localhost:8080/ng2a/test.jsp
		location /ng2a {
			proxy_pass http://localhost:8080;
		}

		#test http://localhost/ng3/test.jsp
		# -> http://localhost:8080/abc/test.jsp
		# 解释: localhost/ng3/ 和 http://localhost:8080/abc/ 进行替换
		location /ng3/ {
			proxy_pass http://localhost:8080/abc/;
		}

		#test http://localhost/ng4/test.jsp
		# -> http://localhost:8080/abctest.jsp
		# 另一种解释: http://localhost/ng4/ 和 http://localhost:8080/abc 进行替换, 直接就成了 .../abctest.jsp, /ng4/ 意思是/开头, 但内容为ng4/, -> abc, 所以最后少了一个/
		location /ng4/ {
			proxy_pass http://localhost:8080/abc;
		}

		#test http://localhost/ng5/test.jsp
		# -> http://localhost:8080/abc/test.jsp
		# 解释: localhost/ng5 和 http://localhost:8080/abc 进行替换
		location /ng5 {
			proxy_pass http://localhost:8080/abc;
		}

		#test http://localhost/ng6/test.jsp
		# -> http://localhost:8080/ng6/test.jsp
		# 解释: http://localhost:8080 的后面直接添加 /ng6/test.jsp
		location /ng6 {
			proxy_pass http://localhost:8080;
		}

		#test http://localhost/ng7/test.jsp
		# -> http://localhost:8080/abc//test.jsp
		# 解释: http://localhost/ng7 跟 http://localhost:8080/abc/ 替换
		location /ng7 {  
			proxy_pass http://localhost:8080/abc/;  
		}

		# 暂时结论: 针对纯正的域名 http://localhost:8080/ 不带 html/abc之类
		# proxy_pass 后面的url, 最后如果是 "/", 则整个替换, 参考ng1, ng6
		
		# 暂时结论: 针对纯正的域名 http://localhost:8080 不带 html/abc之类
		# proxy_pass 后面的url, 最后如果不是 "/", 则追加替换, 参考ng2

		# 暂时结论: 针对不纯正的域名 http://localhost:8080/html/test.jsp 之类
		# proxy_pass 后面的url, 最后如果是 "/", 则整个替换, 参考ng3, ng4, ng5


















  • 大小: 36.2 KB
  • 大小: 38.1 KB
  • 大小: 39.3 KB
  • 大小: 39.4 KB
  • 大小: 38.6 KB
  • 大小: 39.4 KB
  • 大小: 39.4 KB
分享到:
评论

相关推荐

    nginx实现跨域访问遇到的问题

    Nginx 是一款轻量级的 Web 服务器、反向代理服务器和电子邮件代理服务器,然而在实现跨域访问时,会遇到一些问题。本文将讨论 Nginx 实现跨域访问遇到的系统环境问题解决方法,并分享踩过的坑。 跨域是什么? -----...

    nginx配置教程之add_header的坑详解

    而且在低版本的 nginx 中 add_header 还不支持在错误页面中使用。 这是一个坑比较多的指令。它的处理阶段比 location 处理晚,虽然可以写在 location 中,但如果 rewrite 别的 location,那么上一个 location 中...

    Fastdfs—安装常见报错处理

    文章目录目录索引1.nginx: [emerg] unknown directive “ngx_...Fastdfs—安装fastdfs和nginx进行反向代理 Fastdfs—安装常见报错处理大全 出这一篇文章是因为我感觉我已经把安装fastdfs中所有能踩的坑全都踩了一

    nginx实现一个域名配置多个laravel项目的方法示例

    如此多的域名不仅仅是难于管理,更重要的是比较浪费资源,这个问题困扰了我很久,今天终于解决了这个问题,特此记录一下采坑日记,本文不会讲nginx中各个指令的原理,而是用实际的项目配置来练习nginx指令的用法并...

    分享nginx+php-fpm实现大文件下载排坑的过程

    Nginx是一个高性能的HTTP和反向代理服务器,同时也支持IMAP/POP3/SMTP协议。Nginx以事件驱动的方式编写,提供了高度的可扩展性,与传统服务器程序相比,可以在更少的资源消耗下支持更多的并发连接。而PHP-FPM...

    Nginx实现非套路镜像站的踩坑记录

    Nginx是一种高性能的HTTP和反向代理服务器,也是一个通用的TCP/UDP代理服务器,广泛应用于服务器基础设施中,以其高并发、低内存消耗等特性著称。在构建镜像站点时,Nginx能够实现对原始网站的复制,将网站内容缓存...

    宝塔部署Django项目.doc

    域名映射好了之后,宝塔里可以直接把 8000 端口关闭掉(之前添加了开放规则),这样别人就无法从 8000 端口访问应用,而只能通过域名访问,只能说 Nginx 反向代理真的很实用! 在对应站点设置中,开启防跨站攻击,...

    gitlab环境搭建

    - 配置Nginx反向代理: - 示例配置文件(位于`/etc/nginx/conf.d/`): ```nginx server { listen 80; server_name gitlab.yinnote.com; location / { proxy_pass http://127.0.0.1:18080; } } ``` - 修改...

    Django项目uwsgi+Nginx保姆级部署教程实现

    Django是一个强大的Python Web框架,而uwsgi是一个高效的应用服务器,用于处理Web应用程序,而Nginx则是一个高性能的反向代理服务器,常用于负载均衡和静态资源处理。 首先,确保你的Linux服务器上安装了正确的...

    nacos-server-1.2.0.zip

    3、nginx反向代理配置, 因为我这里是单台机器 upstream nacos-server { server 127.0.0.1:8848; server 127.0.0.1:8849; server 127.0.0.1:8850; } server { listen 80; server_name localhost; ...

    My_Daily:Ununtu&Meteor&Nginx&Docker&Kubernetes&Radish&Node&React&Python&Java

    certbot & Jitsi MeetHTTP 和反向代理服务器SSL 简化申请流程Jitsi Meet 安装[Kubernetes && Docker](#kubernetes--docker)[Kubernetes 中文文档 模型文档](#kubernetes-中文文档-模型文档)安装示例&注意事项常用单...

    开涛高可用高并发-亿级流量核心技术

    2 负载均衡与反向代理 18 2.1 upstream配置 20 2.2 负载均衡算法 21 2.3 失败重试 23 2.4 健康检查 24 2.4.1 TCP心跳检查 24 2.4.2 HTTP心跳检查 25 2.5 其他配置 25 2.5.1 域名上游服务器 25 2.5.2 备份上游服务器 ...

    lnmp环境搭建

    - **Nginx**:高性能的HTTP服务器和反向代理服务器,同时支持IMAP、POP3、SMTP协议,系统资源消耗低,稳定性高。 - **MySQL**:关系型数据库管理系统,支持SQL语言,广泛用于Web应用程序的数据存储。 #### 四、安装...

Global site tag (gtag.js) - Google Analytics