nginx配置反向代理

反向代理是工作中最常用的服务器功能,经常被用来解决跨域问题,下面我们来简单介绍一下如何实现反向代理。

首先进入 Nginx 的主配置文件:

vim /etc/nginx/nginx.conf

然后我们去 http 模块的 server 块中的 location /,增加一行将默认网址重定向到百度的 proxy_pass 配置:

server{
listen 80;
server_name *.sherlocked93.club;

location /{
 proxy_pass http:www.baidu.com;
}
}

 

改完保存退出,nginx -s reload 重新加载,进入默认网址,那么现在就直接跳转到 B 站了,实现了一个简单的代理。

实际使用中,可以将请求转发到本机另一个服务器上,也可以根据访问的路径跳转到不同端口的服务中。

比如我们监听 9001 端口,然后把访问不同路径的请求进行反向代理:

把访问 http://127.0.0.1:9001/edu 的请求转发到 http://127.0.0.1:8080

把访问 http://127.0.0.1:9001/vod 的请求转发到 http://127.0.0.1:8081

这种要怎么配置呢,首先同样打开主配置文件,然后在 http 模块下增加一个 server 块:

复制代码
server {
  listen 9001;
  server_name *.sherlocked93.club;

  location ~ /edu/ {
    proxy_pass http://127.0.0.1:8080;
  }
  
  location ~ /vod/ {
    proxy_pass http://127.0.0.1:8081;
  }
}
复制代码

反向代理还有一些其他的指令,可以了解一下:

1、proxy_set_header:在将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息。

2、proxy_connect_timeout:配置Nginx与后端代理服务器尝试建立连接的超时时间。

3、proxy_read_timeout:配置Nginx向后端服务器组发出read请求后,等待相应的超时时间。

4、proxy_send_timeout:配置Nginx向后端服务器组发出write请求后,等待相应的超时时间。

5、proxy_redirect:用于修改后端服务器返回的响应头中的Location和Refresh。

 

#####补充说明
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。
2、~:用于表示 uri 包含正则表达式,并且区分大小写。
3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。
4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location
块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~* 标识。

posted on   五官一体即忢  阅读(145)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示