Nginx的反向代理(三)

简介: 第一章:为什么要用反向代理,有哪些软件可以使用?反向代理软件硬件:F5 软件:Nginx HAproxy LVS等第二章: Nginx反向代理参数解释官方案例:location / { proxy_pass http://localhost:8000; prox...

第一章:为什么要用反向代理,有哪些软件可以使用?

反向代理软件
硬件:F5
软件:Nginx HAproxy LVS等

第二章: Nginx反向代理参数解释

官方案例:
location / {
    proxy_pass       http://localhost:8000;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
}
解释:
proxy_pass       http://172.16.1.7:8080;        #将用户的请求转发给后端的nginx服务器处理    
proxy_set_header Host      $host;                #将用户访问的地址记录到自己的HOST记录上
proxy_set_header X-Real-IP $remote_addr;        #将用户访问的IP记录到自己的IP地段上

常用的代理配置参数:
proxy_set_header Host $http_host;                    #将用户访问的地址记录到自己的HOST记录上    
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    #将用户访问IP记录到自己的X-Forwarded-For地段上
proxy_connect_timeout 30;                            
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;

第三章:Nginx反向代理配置

需求:
web01 8080 web01
lb 80 跳转到web01上的8080

web服务器操作:

1.配置nginx文件

[root@web01 ~]# cat /etc/nginx/conf.d/web01.conf 
server {
  listen 8080;
  server_name www.mysun.com;
  location / {
     root /code;
     index www.html;
  }
}

2.写入测试页面

echo "web01" > /code/www.html

3.检查并重启Nginx

nginx -t
systemctl restart nginx 

负载服务器操作

1.安装NGINX

yum -y install nginx  #安装官方版本

2.编写代理需要的参数配置文件

[root@lb01 ~]# cat /etc/nginx/proxy_params 
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;

3.编写代理服务配置文件

[root@lb01 ~]# cat /etc/nginx/conf.d/proxy.conf 
server {
   listen 80;
   server_name www.mysun.com;

   location / {
      proxy_pass  http://172.16.1.7:8080;
      include proxy_params;
   }
}

4.检查并启动Nginx

nginx -t
systemctl start nginx 

windows操作:
绑定hosts文件
10.0.0.5 www.mysun.com

第四章:反向代理结合负载均衡配置

1.地址规划

web01    www.mysun.com  blog.mysun.com  bbs.mysun.com 
web02   www.mysun.com  blog.mysun.com  bbs.mysun.com 

负载lb01

www.mysun.com
blog.mysun.com
bbs.mysun.com

2.配置web服务器

cat >/etc/nginx/conf.d/www.conf <<EOF
server {
  listen 80;
  server_name www.mysun.com;
  location / {
     root /code;
     index www.html;
  }
}
EOF

cat >/etc/nginx/conf.d/bbs.conf <<EOF
server {
  listen 80;
  server_name bbs.mysun.com;
  location / {
     root /code;
     index bbs.html;
  }
}
EOF

cat >/etc/nginx/conf.d/blog.conf <<EOF
server {
  listen 80;
  server_name blog.mysun.com;
  location / {
     root /code;
     index blog.html;
  }
}
EOF

echo "$(hostname) bbs" > /code/bbs.html
echo "$(hostname) www" > /code/www.html
echo "$(hostname) blog" > /code/blog.html

nginx -t 
systemctl restart nginx 

3.配置lb服务器

[root@lb01 ~]# cat /etc/nginx/conf.d/proxy.conf 
upstream web_pools {
   server 172.16.1.7;
   server 172.16.1.8;
}

server {
   listen 80;
   server_name www.mysun.com bbs.mysun.com blog.mysun.com;
   location / {
      proxy_pass  http://web_pools;
      include proxy_params;
   }
}

nginx -t 
systemctl restart nginx 

4.windows操作:

10.0.0.5 www.mysun.com bbs.mysun.com blog.mysun.com

目录
相关文章
|
1月前
|
负载均衡 网络协议 Unix
Nginx七层(应用层)反向代理:SCGI代理scgi_pass篇
Nginx七层(应用层)反向代理:SCGI代理scgi_pass篇
43 1
|
7天前
|
JavaScript Java 应用服务中间件
|
1月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
29天前
|
缓存 负载均衡 应用服务中间件
Nginx 代理管理器强势登场!轻松设置反向代理,为你的网络安全与高效护航,快来探索!
【8月更文挑战第23天】Nginx 代理管理器(NPM)是一款强大的工具,用于简化反向代理的设置流程。反向代理能隐藏后端服务器的真实IP,提升安全性,实现负载均衡与缓存等功能。用户需先安装Nginx 代理管理器,然后通过其Web界面添加代理主机,指定代理名称、协议类型、服务器地址及端口等信息。对于HTTPS协议,还需上传SSL证书/密钥。完成设置后,可通过浏览器测试反向代理是否正常工作。Nginx 代理管理器还支持高级特性,如负载均衡、缓存及访问控制等。
51 1
|
1月前
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
48 3
|
1月前
|
负载均衡 算法 应用服务中间件
在Linux中,nginx反向代理和负载均衡实现原理是什么?
在Linux中,nginx反向代理和负载均衡实现原理是什么?
|
1月前
|
jenkins 应用服务中间件 持续交付
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密
54 8
|
30天前
|
缓存 负载均衡 应用服务中间件
如何配置 NGINX 反向代理
【8月更文挑战第21天】
137 0
如何配置 NGINX 反向代理
|
1月前
|
缓存 应用服务中间件 API
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
Nginx七层(应用层)反向代理:HTTP反向代理proxy_pass篇(三)
29 3
|
1月前
|
网络协议 Unix 应用服务中间件
Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇
Nginx七层(应用层)反向代理:UWSGI代理uwsgi_pass篇
61 1