什么是反向代理

发布于 18 天前  64 次阅读


我们知道,网站一般是通过公网ip加端口号的方式访问的,而且一般我们是用80端口,之后绑定域名解析,就可以通过域名访问了,但是,如果不是用80端口,那么,就要在域名后面加端口访问了。

但是,为什么我们基本我们过用域名加端口的方式访问呢,难道他们都是部署在不同服务器上的吗,同一个服务器可不可以搭建多个网站呢

先回答上面的问题,可以,这里我们就要用到反向代理了,我们在搭建时一定会用到不同的端口,我们可以用反向代理的方式给他转换为80端口,方便我们使用,以下是一串反向代理的配置文件及作用

nginx

server {
listen 80; # 监听 HTTP 80 端口
server_name example.com; # 你的域名

location / {
    proxy_pass http://127.0.0.1:8080; # 转发到本地服务端口

    # 传递真实 IP 和域名(必须)
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # 连接超时(Nginx 连后端)
    proxy_connect_timeout 10s;
    # 发送超时(Nginx → 后端)
    proxy_send_timeout 30s;
    # 读取超时(后端 → Nginx)
    proxy_read_timeout 30s;

    # 不缓存(常用)
    proxy_buffering off;
    proxy_cache off;

    # 允许大文件上传(常用)
    client_max_body_size 100M;
}

}
 

每一行作用

  •  proxy_connect_timeout :连不上后端多久断开
  •  proxy_send_timeout :发数据给后端多久超时
  •  proxy_read_timeout :等后端响应多久超时
  •  client_max_body_size :允许上传大文件
  •  proxy_buffering off :避免卡顿,实时流更稳

这是一些基础配置,希望可以帮你了解。


成功只有一个——按照自己的方式,去度过人生。