nginx简单使用
前言
Nginx是十分轻量级的HTTP服务器。Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器。
代理服务器,代理服务器一般是指局域网内部的机器通过代理服务发送请求到互联网上的服务器,代理服务器一般作用于客户端
鉴见博客
正向代理
- 正向代理是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取的内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端必须要进行一些特别的设置才能使用正向代理。
正向代理代理的对象是客户端,正向代理中,proxy和client同属一个LAN,对server透明
反向代理
- 反向代理服务器:在服务器端接收客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。Nginx就是其中的一种反向代理服务器软件。
反向代理代理的对象是服务端,反向代理中,proxy和server同属一个LAN,对client透明
注意
正向代理客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。
反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向哪个原始服务器转交请求,并将获得的内容返回给客户端。
nginx简单入门
- 安装nginx docker基础知识
小实战
- 创建一个网关和一个微服务
- spingboot1微服务
- gateway网关
spring:
application:
name: gateway
cloud:
nacos:
discovery:
server-addr: 192.168.237.130:8848
gateway:
routes:
- id: springboot1_route
uri: lb://springboot1
# 断言,路径中包含api,路由到springboot1微服务
predicates:
- Path=/api/**
filters:
- RewritePath=/api/(?<segment>/?.*), /$\{segment}
server:
port: 88
微服务和网关知识请看
:gateway
-
修改nginx配置文件
include是引入配置
这里配置了虚拟机的域名
-
在include所在文件夹下新建配置gulimall.conf
修改路由规则
- 修改网关路由规则
- id: springboot1_route
uri: lb://springboot1
# 断言,如果访问的域名包含gulimall.com,路由到springboot1微服务
predicates:
- Host=**.gulimall.com,gulimall.com
-
修改gulimall.conf 中proxy_pass http://gulimall;
访问nginx gulimall.com 负载均衡访问网关,此时网关的匹配规则是如果含有gulimall.com就路由
但其实当我们访问的时候 nginx代理网关会丢失请求的host信息
- 设置nginx 防止丢失信息
proxy_set_header Host $host
- 重启访问,成功!!