nginx 前端及接口代理配置

news/2024/10/18 0:21:28/

以下为总结配置
我这一块配置为了习惯统一化 不管前端还是接口配置 location后面都带上斜杠。

前端代理配置

我比较常用的为alias方式
# 演示root和alias两种配置静态资源的区别server {listen 80;server_name localhost;# 用root方式,location中的路径会拼加到root的地址后面# 请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/files/index.jpglocation ~^/files/ {root /home/;index index.html index.htm;}# 用alias方式,location中的路径不会拼加到alias的地址后面# 这请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/index.jpglocation ~^/files/ {alias /home/;index index.html index.htm;}}

后端代理配置

以下这种方式我用的比较多
# 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/getUserlocation ^~/api/ {proxy_pass http://127.0.0.1:8000/;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}

参考的相关配置方式
相关链接

# 进程数量
worker_processes 1;events {# 最大连接数量worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;# 演示如何强制http跳转httpsserver {listen 80;server_name test.com;# http强制跳转到httpsrewrite ^(.*)$ https://$server_name$1 permanent;}# 演示如何配置微信支付的校验文件server {listen 80;server_name localhost;# 默认根路径location / {root index.html;}# 微信支付校验文件,可以直接配置访问名称location ^~/MP_verify_2g3uEjrB5B2LIbNl.txt {alias /home/MP_verify_2g3uEjrB5B2LIbNl.txt;}# 微信支付校验文件,也可以通过正则配置location ~^/MP_verify_[a-zA-Z0-9]*\.(txt)$ {root /home/;rewrite ^/home/(.txt)$ /home/$1 last;}}# 演示root和alias两种配置静态资源的区别server {listen 80;server_name localhost;# 用root方式,location中的路径会拼加到root的地址后面# 请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/files/index.jpglocation ~^/files/ {root /home/;index index.html index.htm;}# 用alias方式,location中的路径不会拼加到alias的地址后面# 这请求路径为:http://localhost:8080/files/index.jpg    实际访问为:/home/index.jpglocation ~^/files/ {alias /home/;index index.html index.htm;}}# 演示请求后台接口代理配置server {listen 8080;server_name localhost;#################### 第一种场景(代理地址不加斜杠) ##################### 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/api/getUserlocation ^~/api/ {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}# 请求路径为:http://127.0.0.1:8080/api/getUser   实际指向为:http://127.0.0.1:8000/api/getUserlocation ^~/api {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}#################### 第二种场景(代理地址+斜杠) ##################### 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/getUserlocation ^~/api/ {proxy_pass http://127.0.0.1:8000/;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}# 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000//getUserlocation ^~/api {proxy_pass http://127.0.0.1:8000/;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}#################### 第三种场景(代理地址+后缀) ##################### 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/user/getUserlocation ^~/api {proxy_pass http://127.0.0.1:8000/user;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}# 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/usergetUserlocation ^~/api/ {proxy_pass http://127.0.0.1:8000/user;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}#################### 第四种场景(代理地址+后缀+斜杠) ##################### 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/user/getUserlocation ^~/api/ {proxy_pass http://127.0.0.1:8000/user/;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}# 请求路径为:http://127.0.0.1:8080/api/getUser   实际代理为:http://127.0.0.1:8000/user//getUserlocation ^~/api {proxy_pass http://127.0.0.1:8000/user/;proxy_set_header Host $http_host; #后台可以获取到完整的ip+端口号proxy_set_header X-Real-IP $remote_addr; #后台可以获取到用户访问的真实ip地址}}# 演示前端项目如何部署nginxserver {listen 8090;server_name localhost;# 默认访问# 部署路径:/home/web/my_demo# 访问路径为:http://localhost:8090/location / {try_files $uri $uri/ /index.html;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;root /home/web/my_demo/;index index.html index.htm;}# 带前缀的访问# 部署路径:/home/web/my_demo# 访问路径为:http://localhost:8090/my_demo/# 如果location路径最后没有配置斜杠,则浏览器输入访问地址后,路径最后会自动拼一个斜杠location ^~/my_demo/ {try_files $uri $uri/ /my_demo/index.html;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $http_host;root /home/web/;index index.html index.htm;}}
}

http://www.ppmy.cn/news/573010.html

相关文章

给COS挂上nginx代理

目录 前言: 解决思路: Nginx代理配置 关键配置讲解: 附录 前言: 最近研发同学反馈本地无法连上线上测试的COS文件服务器。由于安全问题,研发同学连接公司内部服务都是通过自己的VPN;经过排查之后发现…

基于Docker MinIO整合Nginx搭建反向代理

基于Docker MinIO整合Nginx搭建反向代理 docker拉去镜像安装和配置就不说了 主要说一下配置反向代理 第一次使用minio我陷入了一个误区,将nginx的data目录挂载到了minio的文件目录,这样是可以通过nginx访问minio文件,但是没有任何意义&…

某医院nginx 前置机(反向代理)配置

数据流图 外网访问-http://13*.*.*.12*:8087/(在出口做dnat)----http://10.*.*.230:8087/(前置机反向代理到内网)----10.1.*.230:8087(内网) 在下配置在 10.*.*.230机器上进行配置: 一、安装nginx软件,目…

使用Nginx搭建反向代理

引言:最近公司有台服务器遭受DDOS攻击,流量在70M以上,由于服务器硬件配置较高所以不需要DDOS硬件防火墙。但我们要知道,IDC机房是肯定不 允许这种流量一直处于这么高的,因为没法具体知道后面陆续攻击的流量会有多大&am…

secureCRT设置跳板机 + proxyfier代理

背景 目前有三台以下机器: 本地windows 服务器1:132.121.11.71 服务器2:132.122.11.75 服务器1 能直接访问 服务器2; 但是本地不能直接访问 服务器2; 现在想让本地能直接访问 服务器2中的数据库。 工具 secureCRTproxyfier 操作 1. 跳板…

【算法题】数组系列(找出数组中重复的数字、二维数组中的查找)

算法题 数组系列 一、找出数组中重复的数字1.1、题目1.2、解题思路1(排序法)1.3、解题思路2(hash)1.4、小结 二、二维数组中的查找2.1、题目2.2、理解题目2.3、解题思路2.3.1、暴力枚举2.3.2、二分查找2.3.3、对角线查询&#xff…

想做代理商吗?物联卡的起批价格、张数和注意条例你要弄清楚!

物联网时代,物联卡也成为了一种商机,想做代理商,物联卡的起批张数和注意条例你弄清楚了吗? ​ 首先,我们在介绍做物联卡代理要拿多少张卡之前,请跟小编一块先了解一下,做物联卡代理要满足的条…

如何代理一款游戏?想代理一款游戏应该怎么做?怎么代理一款游戏,开始游戏创业?

这几年,玩游戏的人越来越多。可是有的人只是玩游戏,有的人却从中窥得一线商机。很多玩家在玩游戏的时候多多少少都会充值。如果能代理一款游戏,就可以在玩家通过你的渠道进行充值的时候,抽取一定的佣金收益。这就是如今热门的游戏…