小满Linux(第八章Nginx反向代理)

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

nginx news


Nginx反向代理的配置语法


反向代理中的常用指令:


proxy_pass 
proxy_set_header 


proxy_pass


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


案例1代理到哔哩哔哩


location / {
   root   html;
   index  index.html index.htm;
   proxy_pass http://bilibili.com;
}


访问/就会被转到哔哩哔哩


案例2 nginx反向代理解决跨域


前端代码


         a.onclick = () => {
            let xhr = new XMLHttpRequest()
            xhr.open('GET','/api/portal/list')
            xhr.onreadystatechange = () => {
                if(xhr.readyState == 4 &&  xhr.status == 200){
                   console.log(xhr.responseText);
                }
            }
            xhr.send(null)
         }


express 服务端代码


const express = require('express')
const app = express()
app.get('/portal/list', (req, res) => {
    res.json({
        code: 200,
        message: "搞咩啊"
    })
})
app.listen(9000,()=>{
    console.log('success');
})


nginx 配置文件


        location /api/ {
            proxy_pass http://localhost:9000/;
        }


截取到/api/ 将会转发到 http://localhost:9000/


proxy_set_header


该指令可以更改Nginx服务器接收到的客户端请求的请求头信息,然后将新的请求头发送给代理的服务器


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;

三个header分别表示:

X-Real-IP 客户端或上一级代理ip

X-Real-Port 客户端或上一级端口

X-Forwarded-For 包含了客户端和各级代理ip的完整ip链路

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


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

目录
相关文章
|
20天前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
24天前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
1月前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
202 1
nginx配置反向代理404问题
|
20天前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
37 4
|
20天前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
42 3
|
20天前
|
安全 应用服务中间件 网络安全
配置Nginx反向代理实现SSL加密访问的步骤是什么?
我们可以成功地配置 Nginx 反向代理实现 SSL 加密访问,为用户提供更安全、可靠的网络服务。同时,在实际应用中,还需要根据具体情况进行进一步的优化和调整,以满足不同的需求。SSL 加密是网络安全的重要保障,合理配置和维护是确保系统安全稳定运行的关键。
73 3
|
20天前
|
缓存 负载均衡 安全
Nginx的反向代理具体是如何实现的?
Nginx的反向代理具体是如何实现的?
|
2月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
175 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
2月前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
70 6
|
2月前
|
应用服务中间件 Linux nginx
Linux下操作Nginx相关命令
Linux下操作Nginx相关命令