Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • Nginx

    • Nginx介绍
    • Nginx安装
    • Nginx配置文件
    • Nginx反向代理
      • 配置语法
      • 实例
        • 代理服务器
        • 反向代理解决跨域
    • Nginx拉取git项目
    • Nginx添加虚拟主机配置文件
    • Nginx项目自动更新
    • Vue-histroy模式跳转路由404问题
    • GoAccess
    • Nginx负载均衡
  • Docker

  • Server

  • Linux

  • Windows

  • 运维
  • Nginx
HiuZing
2023-03-29
目录

Nginx反向代理

# 配置语法

反向代理中的常用指令:

# 该指令用来设置被代理服务器地址,可以是主机名称、IP地址加端口号形式。
proxy_pass

# 允许重新定义或添加字段传递给代理服务器的请求头。
proxy_set_header 
1
2
3
4
5

# 实例

# 代理服务器





 


# 访问/就会被转到哔哩哔哩
location / {
   root   html;
   index  index.html index.htm;
   proxy_pass http://bilibili.com;
}
1
2
3
4
5
6

# 反向代理解决跨域

前端

a.onclick = () => {
    let xhr = new XMLHttpRequest()
	// 发送请求(接口/api/)
    xhr.open('GET','/api/portal/list')

    xhr.onreadystatechange = () => {
        if(xhr.readyState == 4 &&  xhr.status == 200){
            console.log(xhr.responseText);
        }
    }

    xhr.send(null)
}
1
2
3
4
5
6
7
8
9
10
11
12
13

服务端

const express = require('express')
 
const app = express()

app.get('/portal/list', (req, res) => {
    res.json({
        code: 200,
        message: "搞咩啊"
    })
})
 
app.listen(9000,()=>{
    console.log('success');
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14

nginx配置文件

# 截取到/api/ 将会转发到 http://localhost:9000/
location /api/ {
	proxy_pass http://localhost:9000/;
}
1
2
3
4

proxy_set_header

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# X-Real-IP 客户端或上一级代理ip
# X-Real-Port 客户端或上一级端口
# X-Forwarded-For 包含了客户端和各级代理ip的完整ip链路
1
2
3
4
5
6
7

其中X-Real-IP是必需的,后两项选填。当只存在一级nginx代理的时候X-Real-IP和X-Forwarded-For是一致的,而当存在多级代理的时候,X-Forwarded-For 就变成了如下形式 。

$remote_addr是前一节点的IP,并不一定是用户的真实IP。

上次更新: 2024/08/14, 04:14:33
Nginx配置文件
Nginx拉取git项目

← Nginx配置文件 Nginx拉取git项目→

最近更新
01
React Native 使用SVG
08-13
02
Docker基础命令
08-04
03
算数逻辑单元
07-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式