首页 > 系统相关 >Nginx将请求转发至后端应该怎么做?

Nginx将请求转发至后端应该怎么做?

时间:2022-11-05 14:06:42浏览次数:98  
标签:http nginx 转发 server Nginx 至后 proxy pass location


新建一个nginx server

在nginx的配置文件中新建一个server监听前端部署的端口

server
{
#监听端口
listen 80;
server_name 网站名称;
}

使用Nginx代理前端页面

然后在server中添加一个location,就是把访问路径指向前端项目打包后的地址

location / {
root 前端项目打包后的地址;
index index.html index.htm;
}

nginx请求转发到后端

在部署前后端分离项目时,通常都要使用nginx把前端的请求转发到后端的接口上去,这就要配置nginx的proxy_pass功能。

# 转发请求到后端
location /api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_redirect off;
# proxy_set_header X-NginX-Proxy true;
proxy_pass 后端接口地址;
}

代理转发需要注意的事儿

在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。

第一种

代理至地址,proxy_pass 后面没有 “ / ”

location /api {
proxy_pass http://localhost:9898;
}
  • 访问:http://localhost/api/xxx
  • 转至:http://localhost:9898/xxx

第二种

代理至地址,proxy_pass 后面有 “ / ”

location /api {
proxy_pass http://localhost:9898/;
}
  • 访问:http://localhost/api/xxx
  • 转至:http://localhost:9898/api/xxx

第三种

代理本地静态页面

location /page {
alias /usr/share/nginx/html/page/;
index index.html index.html;
}

server其他的配置

#一键申请SSL证书验证目录相关设置
location ~ \.well-known{
allow all;
}
#代理网站图标,可以注释
location = /favicon.ico {
root /**/assets/;
}

#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}

#访问日志
access_log /**/日志名;
#错误日志
error_log /**/日志名;


标签:http,nginx,转发,server,Nginx,至后,proxy,pass,location
From: https://blog.51cto.com/u_13460811/5825935

相关文章

  • linux 环境nginx 快捷启动配置
    一般nginx安装后,得到nginx安装目录sbin文件夹里启动nginx/usr/local/nginx/sbin/nginx-sstart可以配置环境变量,来直接输入nginx来启动,停止,检测配置,重启1.编辑用户......
  • Nginx介绍
    Nginx(“enginex”)是一款是由俄罗斯的程序设计师IgorSysoev所开发高性能的Web和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。和apache一样,都是web服务器软件,......
  • Nginx安装部署(源码)
    一、nginx源码下载官网:http://nginx.org/源码包:nginx-1.19.3.tar.gz源码包下载:wgethttp://nginx.org/download/nginx-1.19.3.tar.gz-P/usr/src二、nginx安装2.1......
  • Nginx常用命令
    重启nginxkillall-sHUPnginx&&/usr/local/nginx/sbin/nginx重新加载配置文件nginx-sreload自定义查看nginx进程核心,进程id,程序参数ps-eopsr,pid,args|gr......
  • Nginx配置ssl实现https访问
    导航​​一、申请SSL证书​​​​1.1阿里云服务器首页​​​​1.2SSL证书页面​​​​1.3SSL证书购买详情页​​​​1.4SSL证书申请​​​​1.5SSL证书DNS解析​​​​......
  • Linux安装Nginx - Linux
    文章目录​​一.Nginx安装​​​​二.nginx其他相关命令​​​​三.外网访问​​一.Nginx安装官网下载Nginx:​​https://nginx.org/en/download.html​​下载后,将......
  • Nginx 和 tomcat 实现负载均衡
    Nginx和tomcat实现负载均衡......
  • 学习笔记-Nginx
    Nginx项目地址https://www.nginx.com/配置生成https://github.com/digitalocean/nginxconfig.io反向代理反向代理(ReverseProxy)方式是指以代理服务器来接受......
  • prometheus 监控案例-Tomcat、Redis、Mysql、Haproxy、Nginx
    服务监控  可以根据prometheus官网找到对应服务的exporter  https://prometheus.io/docs/instrumenting/exporters/监控Tomcat容器  基于第三方exporter实现......
  • springboot多模块配置nginx
    1.后端有8088、8089两个端口不同的模块2.在nginx里配置地址。监听端口:9001,转发端口:8088、8099#usernobody;worker_processes1;#error_loglogs/error.log;#er......