Nginx代理

微服务项目可能需要 Nginx来实现反向代理,用户请求 Nginx,随后 Nginx将请求转发至 Gateway网关,再由网关转至具体的微服务

一、动态代理

1.1 网关配置

针对使用 Gateway作网关的项目,需要配置 Nginx转发请求中对路径的识别方式

可以使用 -Host来验证 Nginx转发时的请求

spring:
cloud:
gateway:
routes:
# 注意,路由是自上而下顺序匹配的,不是像 IP地址那样最长匹配,所以精确的值要写在前面
- id: gulimall_host_route
uri: lb://gulimall-product
predicates:
- Host=**.gulimall ## 前端项目,/api

1.2 Nginx配置概述

概述

一般会将容器中的 Nginx目录映射出来

我们可在 html路径下配置访问数据,在 conf 路径下配置访问规则

配置

其中核心文件为 nginx.confconf.d目录下的配置文件

查看 nginx.conf

其中配置了一些基本属性

注意:它同时会引入 conf.d路径下的所有配置文件

查看 conf.d

初始状态下是只有 default.conf文件

其中配置了基本的路径相关信息,指明了路径映射的方式

1.3 Nginx详细配置

为了让用户能访问当前 Nginx,并向网关做转发,我们进行如下配置

conf.d目录下拷贝 default.conf,在原基础上做些修改

之所以配置 gateway这个名称是为了使用 nginx做负载均衡,其在根配置文件中的设置如下

二、动静分离

如果后端服务器没有进行前后端分离,那么当用户请求数据时,会同时请求动态数据、页面和 那些静态的 js、css等文件;

对静态文件的请求会限制系统的吞吐量

2.1 微服务改变

微服务无需额外配置,只是需要更改页面中的资源引用路径

假设,我们将资源放到 nginx的 html下的 static/index路径下

则需要将具体资源的前缀路径设置为 /static/index/xxx,如:/static/index/js/index.js

2.2 Nginx配置

Nginx需要将这些资源开放出去

具体可以在,conf/conf.d路径下的资源文件中进行配置

如在 gulimall.conf中进行如下配置:

Nginx代理和动静分离的更多相关文章

  1. Nginx+Tomcat实现反向代理及动静分离

    Nginx+Tomcat实现反向代理及动静分离 时间 2014-07-07 15:18:35  51CTO推荐博文 原文  http://yijiu.blog.51cto.com/433846/143 ...

  2. nginx反向代理(动静分离)

    使用反向代理(动静分离)可以让nginx专注静态内容,把动态请求交给apache来处理,发挥各自的优势,而且整个架构更加清晰: 这里假设你已经搭建好了nginx环境; 为了简单起见,就不用源码编译安装 ...

  3. 使用nginx和tomcat配置反向代理和动静分离

    背景 本人主修的编程语言是Java语言,因此最开始接触的Web开发也是JSP技术.使用Java开发的Web应用需要部署在专门的服务器程序上运行,比如Tomcat.但是一般很少会有人将Tomcat作为用 ...

  4. Nginx 反向代理功能-动静分离

    Nginx 反向代理功能-动静分离 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  5. Nginx+Tomcat实现反向代理与动静分离

    1. 什么是动静分离  所谓动静分离就是通过nginx(或apache等)来处理用户端请求的静态页面,tomcat(或weblogic)处理动态页面,从而达到动静页面访问时通过不同的容器来处理. 2. ...

  6. Nginx+apache/Tomcat实现反向代理与动静分离

    其实本人比较喜欢nginx跑静态和做负载反向代理,动态php还是交给apache处理比较稳定,jsp就交给tomcat.resin或jboss.nginx跑静态的能力是无与伦比的,是目前web服务器里 ...

  7. Nginx反向代理之动静分离

    我们已经知道了什么是正向代理与反向代理,这次我们就讲一下Nginx的动静分离的案例,其实质运用的就是反向代理,专门用一台服务器代理服务器上的图片资源. 想使用代理必然要配置代理,配置反向代理,必须要用 ...

  8. nginx的应用【静态代理、动静分离】

    Nginx主要应用: 静态web服务器 负载均衡 静态代理虚拟主机 静态代理 :把所有静态资源的访问改为访问nginx,而不是访问tomcat,因为nginx更擅长于静态资源的处理,性能更好,效率更高 ...

  9. nginx反向代理、动静分离

    环境:根据http://www.cnblogs.com/zzzhfo/p/6032095.html配置 方法一:根据目录实现动静分离 在web01创建image并上传一张图片作为静态页面 [root@ ...

随机推荐

  1. 使用flex防止fit-content子元素冲出父元素宽度的方法

    父元素设置了min-width:fit-content后,其宽度由子元素的宽度来决定 <!DOCTYPE html> <html lang="en"> &l ...

  2. 浅析golang shellcode加载器

    最近也是学习了一下有关shellcode进程注入的操作,简单分享一下通过golang进行实现shellcode加载器的免杀思路. 杀软的查杀方式 静态查杀:查杀的方式是结合特征码,对文件的特征段如Ha ...

  3. 使用gulp助力前端自动化

    前言 随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了.其实并没有,只不过它从台前退居到了幕后.我们仍然可以在很多项目中看到它的身影,比如elementplus. ...

  4. mysql防SQL注入搜集

    SQL注入 例:脚本逻辑 $sql = "SELECT * FROM user WHERE userid = $_GET[userid] "; 案例1:SELECT * FROM ...

  5. 选择结构——嵌套 if 控制语句

    1.嵌套 if 控制语句 概念: 在 if 控制语句中又包含一个或多个 if 控制语句的简称为嵌套 if 控制语句.嵌套 if 控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性. 语法格式 ...

  6. 如果Controller里有私有的方法,能成功访问吗?

    目录 背景 原因 cglib代理的锅 换成JDK动态代理呢 参考 背景 写代码的时候,复制粘贴的时候,没注意到方法的属性,就导致了Controller里有了一个私有的方法,然后访问这个接口的时候就报了 ...

  7. java学习第七天lo流.day17

    lo输入

  8. C# 使用SIMD向量类型加速浮点数组求和运算(1):使用Vector4、Vector<T>

    作者: 目录 一.缘由 二.使用向量类型 2.1 基本算法 2.2 使用大小固定的向量(如 Vector4) 2.2.1 介绍 2.2.2 用Vector4编写浮点数组求和函数 2.3 使用大小与硬件 ...

  9. YC-Framework版本更新:V1.0.9

    分布式微服务框架:YC-Framework版本更新V1.0.9!!! 本文主要内容: 1.V1.0.9版本更新主要内容 2.YC-Framework新的征程 一.V1.0.9版本更新主要内容 (1)接 ...

  10. 动态规划——leetcode55、跳跃游戏

    1.题目描述:  2.解题方法:动态规划 动态规划解题步骤: 1.确定状态: 最后一步:如果能跳到最后一个下标,我们考虑他的最后一步到n-1(最后一个下标),这一步是从 i 跳过来的,i<n-1 ...