Nginx代理

正向代理:客户端

反向代理:服务端

主机连接正向代理

系统代理:所有的网络请求都会走代理。

软件:可以单独指定代理。

配置代理服务器

shell 复制代码
# 修改Nginx配置文件的server
server {
  resolver: 223.5.5.5;
  listen: 80;
  location / {
    proxy_pass http://$host$request_uri;
    proxy_set_header HOST $host;
    proxy_buffers 256 4k;
    proxy_max_temp_file_size 0k;
    proxy_connect_timeout 30;
    proxy_send_timeout 60;
    proxy_read_timeout 60;
    proxy_next_upstream error timeout invalid_header http_502;
  
  }
}
此时的nginx就不代表一个网站了,只做请求转发,单纯的代理。该配置只代理的http协议,https不行。

反向代理

主要是为了保护源站

反向代理讲请求转发给服务器,服务器将响应结果回复给代理,再由代理响应给客户端。

反向代理还能做负载均衡,将大量的请求分发给服务器集群(多台服务器提供一个服务)。

shell 复制代码
http {
    include               mime.types;
    default_type          application/octet-stream;
    charset               utf-8;
    sendfile              on;
    keepalive_timeout     65;
    server {
        listen       80;
        server_name  localhost;
        location / {
             # 192.168.61.140是源站的IP地址  将收到的请求转发给192.168.61.140服务器
            proxy_pass     http://192.168.61.140;
            # 设置host,防止请求域名丢失,不然代理服务器直接转发请求ip,会导致服务端不知道客户端真实访问的是哪个域名。
            proxy_set_header Host $host;

            # 设置真实ip地址记录,下面两个都是一个意思,实际中两个都会用。
            proxy_set_header X-Real_IP $remote_addr;
            proxy_set_header X-Forwarded_for $remote_addr;
        }
    }
}

负载均衡

在代理服务器的nginx配置文件的http中添加资源池,server的外面

shell 复制代码
http {
    include       mime.types;
    default_type  application/octet-stream;
    charset utf-8;
    # 资源池
    upstream web {
      # 集群服务器中的两个ip
      server 192.168.223.100;
      server 192.168.223.100;
    }
    server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass htttp:// web; # 资源池的路径
        }
    }

    
}
相关推荐
techdashen12 小时前
Cloudflare 为何抛弃 NGINX,用 Rust 自研了一个代理
运维·nginx·rust
人生匆匆13 小时前
通过nginx解决跨域问题
运维·nginx
子木HAPPY阳VIP16 小时前
信创UOS,Docker 完整操作部署(Dockerfile部署方式)&排错整合
linux·运维·redis·nginx·docker·容器·tomcat
吹个口哨写代码19 小时前
小程序图片不显示,直接访问显示,头部配置问题
javascript·css·nginx
m0_6316533119 小时前
阿里云单机双网终极部署与运维白皮书:Nginx + PM2 + Prisma 踩坑实战
运维·nginx·阿里云·部署
偶尔上线经常挺尸1 天前
《100个“反常识”经验15:Nginx 502排查:从应用到内核》
运维·nginx·性能调优·反向代理·502错误·http排错
yoyo_zzm1 天前
Laravel9.x新特性全解析
数据库·mysql·nginx
yoyo_zzm1 天前
Laravel8.x新特性全解析
数据库·nginx
计算机安禾2 天前
【Linux从入门到精通】第32篇:Nginx入门——高性能Web服务器搭建
linux·服务器·nginx
程序员Linc2 天前
双击nginx.exe5次之后,我的项目管理平台挂了
运维·nginx