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; # 资源池的路径
        }
    }

    
}
相关推荐
bluechips·zhao15 分钟前
中间件及框架漏洞详解(Nginx、Apache、Tomcat、Redis、Zookeeper、RabbitMQ、Kafka等)
nginx·web安全·网络安全·中间件·apache·网络攻击模型·java-rabbitmq
wepe121 小时前
FlyEnv---phpstudy平替
java·python·mysql·nginx·php
irisart2 小时前
第二章【NGINX 开源功能】—— HTTP 服务器(下)
nginx·http·开源
Evan芙13 小时前
搭建nexus服务,实现本地仓库、代理仓库
java·nginx·tomcat
秋田君14 小时前
前端工程化部署入门:Windows + Nginx 实现多项目独立托管与跨域解决方案
前端·windows·nginx
Evan芙15 小时前
nginx核心配置总结,并实现nginx多虚拟主机
运维·数据库·nginx
邂逅星河浪漫18 小时前
【域名解析+反向代理】配置与实现(步骤)-SwitchHosts-Nginx
linux·nginx·反向代理·域名解析·switchhosts
sg_knight18 小时前
Nuxt 4 生产环境部署指南 (Node.js + Nginx)
运维·nginx·node.js·nuxt·ssr
中年程序员一枚1 天前
Nginx配置运行python的uvicorn项目
chrome·python·nginx
苹果醋31 天前
Java设计模式实战:从面向对象原则到架构设计的最佳实践
java·运维·spring boot·mysql·nginx