前后端请求之nginx配置

问题: 前端发送的请求,是如何请求到后端服务器的?

如,前端请求地址:http://loclhost/api/employee/login:

后端相应请求地址:http://loclhost:8080/admin/employee/login


回答: 使用nginx进行反向代理,即将前端发送的动态请求由nginx转发到后端服务器。

nginx代理的好处:

使用nginx进行反向代理的好处:

  • 提高访问速度:nginx可以缓存数据,当请求同样的接口地址时,无需请求真正的后端服务,直接将nginx中缓存的数据响应给前端,从而提高了响应速度。

  • 进行负载均衡:系统上线之后,有可能访问压力较大,后端可能需要部署多台服务器构成服务器集群。此时,nginx可以作为负载均衡器,将前端发过来的大量请求均衡的分配给后端的各个服务器,如下图所示:

  • 保证后端服务安全:在真实企业项目当中,很多后端服务并没有直接暴露给互联网,而是部署在公司内部的局域网内的,并不是对外开放的,因此通过前端并不能直接请求到后端的服务的,所以需要将前端请求发送到nginx服务器,然后nginx服务器走内网发送到后端服务器,如下图所示:

如何实现相关nginx配置:


负载均衡策略:

举例

复制代码
user  root;
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    #gzip  on;
	
	map $http_upgrade $connection_upgrade{
		default upgrade;
		'' close;
	}

	upstream webservers{
	  server 127.0.0.1:8080 weight=90 ;
	  #server 127.0.0.1:8088 weight=10 ;
	}

    server {
        listen       80;
        server_name  localhost;
        
        location / {
            root   /home/zxy/Projects/CangQiong/FrontEnd/nginx-1.20.2/html/sky;
            index  index.html index.htm;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # 反向代理,处理管理端发送的请求
        location /api/ {
			proxy_pass   http://localhost:8080/admin/;
            #proxy_pass   http://webservers/admin/;
        }
		
		# 反向代理,处理用户端发送的请求
        location /user/ {
            proxy_pass   http://webservers/user/;
        }

 
    }
}
相关推荐
爱喝水的鱼丶5 小时前
SAP-ABAP:ABAP 用户出口开发规范与避坑指南:10 类典型错误与运维方案
运维·性能优化·sap·abap·增强·经验交流·出口
博、、5 小时前
从零构建智慧场馆解决方案:架构设计与开发实践
大数据·运维
敢敢是只喵i6 小时前
给现有业务系统接 AI 助手,入口怎么选?网页聊天、自动化任务与本地 Agent 对比
运维·人工智能·ai·开源·自动化·安全架构
章老师说7 小时前
BFE v1.8.6 正式发布:AI 网关计费精细化、Claude 协议与会话亲和性升级
运维·人工智能·ai·负载均衡·ai-native
Brilliantwxx7 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
欧米欧8 小时前
Linux基础指令上
linux·运维·服务器
爱喝水的鱼丶8 小时前
SAP-ABAP:BAdI 上下文数据获取与交互:标准数据读取与修改逻辑实现
运维·性能优化·sap·abap·增强·经验交流·badi
ARM|X86+FPGA工业主板厂家9 小时前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
pt10439 小时前
网络自动化Python课程:Python与Linux密钥和敏感信息管理介绍
运维·自动化
严谨的麻辣烫9 小时前
2026 年静态 IP 为什么重新受到关注?从住宅代理安全问题看固定网络出口
运维·服务器·tcp/ip·网络安全