当前位置:首页 > CN2资讯 > 正文内容

windows nginx 代理ftp开放root权限 代理服务nginx

18小时前CN2资讯


Nginx代理服务

代理的基本概述

  • 代理一词往往并不陌生,该服务我们常常用到(比如:代理租房),如下图所示:
  • 在没有代理模式的情况下,客户端和Nginx服务端,都是客户端直接请求服务端,服务端直接响应客户端。
  • 那么在互联网请求里面,客户端往往无法直接向服务端发起请求,那么就需要用到代理服务,来实现客户端和服务通信,如下图所示:

Nginx代理服务常见模式

Nginx作为代理服务,按照应用场景模式进行总结,代理可分为正向代理和反向代理。

  • 正向代理,(内部上网)客户端《 ==== 》代理====》服务端
  • 反向代理,用于公司集群架构中,客户端====》代理《 ==== 》服务端
  • 正向代理与反向代理的差别:
    区别在于形式上服务的"对象"不一样
  • 正向代理代理的对象是客户端,为客户端服务
  • 反向代理代理的对象是服务端,为服务端服务

Nginx代理服务支持协议

  • Nginx作为代理服务,可支持的代理协议非常多,具体如下图:
  • Nginx作为反向代理,常用的几种代理协议,如下图所示:
  • 反向代理模式与Nginx代理模块总结如下所示
  • 反向代理模式 Nginx配置模块 http、websocket、https ngx_http_proxy_module fastcgi ngx_http_fastcgi_module uwsgi ngx_http_uwsgi_module grpc ngx-http_v2_module

    Nginx反向代理配置实践

    环境准备

    角色 外网IP(NAT) 内网IP(NAT) 主机名 Proxy eth0:192.168.15.5 eth1:172.16.1.5 lb01 web01 eth0:192.168.15.7 eth1:172.16.1.7 web01
  • 配置后端的web服务(web01)
  • 1. 修改配置文件 vim /etc/nginx/conf.d/web.nana.com.conf server { listen 80; server_name web.nana.com; root /web; location / { index index.php index.html; } } 2. 创建配置文件指定的目录文件 mkdir /web echo "web01..." > /web/index.html 3. 启动Nginx服务 systemctl restart nginx
  • 配置Nginx反向代理服务(lb01)
  • 1. 安装yum包 yum -y install nginx 2. 修改配置文件 vim /etc/nginx/conf.d/proxy_web.conf server { listen 80; server_name web.nana.com; location / { proxy_pass http://192.168.15.7:80; # 用户请求web.nana.com网站,代理服务器会把请求转交给192.168.15.7服务器的80端口 } } 3. 重启nginx systemctl start nginx
    • 测试
    在本机添加域名解析 C:\Windows\System32\drivers\etc 在hosts文件添加域名解析 192.168.15.7 zh.nana.com blog.nana.com 192.168.15.5 web.nana.com 我们先打开本机的cmd,输入ping web.nana.com。 查看一下域名解析的ip地址是不是web02的ip地址(192.168.15.5)。 打开浏览器,输入web.nana.com。我们会发现,浏览器输出的结果为web01服务器blog.nana.com网站的内容。

    为什么我们通过浏览器访问web.nana.com网站的内容,代理服务器返回给浏览器的内容是blog.nana.com的网站内容呢?

    • 我们通过lb01代理服务器访问web01服务端,进行数据查询。代理服务器会把请求转交给web01服务器的80端口,我们查看web01服务器/etc/nginx/conf.d目录下的文件,查看目录下文件的排列顺序,如下所示:
      blog.nana.com.conf、default.conf 、 web.nana.com.conf、 zh.nana.com.conf 。
    • 我们打开配置文件进行查看,发现所有配置文件监听的端口都是80端口,nginx默认会把/etc/nginx/conf.d目录下,最靠前的blog.nana.com.conf结果返回给浏览器。

      解决办法
    • 方法一 : 修改lb01代理服务器指向web01服务器的端口号,通过端口号去匹配web01服务器中的配置文件。
    - lb01代理服务器 vim /etc/nginx/conf.d/proxy_web.conf server { listen 80; # 代理服务器监听浏览器端口号不需要改动 ... proxy_pass http://192.168.15.7:8080; ... } systemctl restart nginx - web01服务器 vim /etc/nginx/conf.d/ server { listen 8080; ... } systemctl restart nginx
    • 方法二:修改代理服务器的配置文件,让lb01代理服务器匹配web01服务器中的配置文件时,加上Host头信息web.nana.com。
    - lb01代理服务器 vim /etc/nginx/conf.d/proxy_web.conf server { listen 80; server_name web.nana.com; location / { proxy_pass http://192.168.15.7:80; proxy_set_header Host $http_host; # 代理服务器匹配请求web01服务器的时候,默认加上Host头信息(域名) } } systemctl restart nginx

    Nginx反向代理相关参数

    Nginx反向代理流程图

    Nginx反向代理常用参数

    - lb01代理服务器 vim /etc/nginx/conf.d/proxy_web.conf server { listen 80; server_name web.nana.com; location / { proxy_pass http://192.168.15.7:80; proxy_set_header Host $http_host; # 代理服务器匹配请求web01服务器的时候,默认加上Host头信息(域名) proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 追加客户端ip地址以及全链路ip地址到web服务器记录日志 # 默认情况下,Web节点服务器日志只记录了Nginx代理的IP地址。 proxy_http_version 1.1; # 修改Nginx代理到Web节点服务器使用长连接(http1.1版本协议) # proxy_set_header X-Real-IP $remote_addr; 可加可不加参数,多层代理的情况下只记录最近一次的代理IP地址。 # 使用该参数,需要手动在主配置文件/etc/nginx/nginx.conf中的http层添加日志参数"$http_x_real_ip"。 } location /favicon.ico { return 200; # 忽略网页小图标加载,关闭日志记录 access_log off; } } systemctl restart nginx

    Nginx反向代理其他相关参数

    - Nginx反向代理时间相关参数(默认都是60秒) proxy_connect_timeout 60s; nginx代理与后端服务器连接超时时间(代理连接超时) proxy_read_timeout 60s; nginx代理等待后端服务器的响应时间(代理响应超时) proxy_send_timeout 60s; 后端服务器数据回传给nginx代理超时时间(回传数据给代理超时) - Nginx代理缓冲区 proxy_buffering on(/off); nginx会把后端返回的内容先放到缓冲区中,然后再返回给客户端,边收边传,不是全部接收再传给客户端 proxy_buffers_size 4k; 设置nginx代理保存用户头信息的缓存区大小 proxy_buffers 8 8k; 设置nginx代理缓冲区大小(8*8 = 64k)

    Nginx反向代理常用优化配置

    • Proxy代理网站常用优化配置如下,将常用的配置参数写入新文件/etc/nginx/proxy_params,调用时使用include引用即可。
    1. 创建常用的代理参数优化配置文件 vim /etc/nginx/proxy_params proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 30s; proxy_read_timeout 60s; proxy_send_timeout 60s; proxy_buffering on; proxy_buffer_size 32k; proxy_buffers 4 128k; 2. 修改Nginx反向代理的配置文件 vim /etc/nginx/conf.d/proxy_web.conf server { listen 80; server_name web.nana.com; location / { proxy_pass http://172.16.1.7:80; # 生产环境中,nginx代理和web服务器在同一个局域网 include proxy_params; # 调用代理参数优化配置文件 } } systemctl restart nginx

    Nginx反向代理的局限性 : 一个location仅能代理一台后端主机!!!


      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/24744.html

      分享给朋友:

      “windows nginx 代理ftp开放root权限 代理服务nginx” 的相关文章

      中国电信CN2网络接入不了的原因解析及解决方案

      在数字化时代,网络连接已成为我们生活中不可或缺的一部分。对于企业用户来说,中国电信CN2网络作为一张高可靠、低时延的网络,为广大用户提供了优质的网络服务。一些用户近期反映中国电信CN2网络接入不了的问题,这不仅影响了用户体验,也可能对企业正常运营造成干扰。中国电信CN2网络接入不了的原因到底是什么呢...

      搬瓦工带防御:如何提升VPS安全性,抵御DDoS攻击

      搬瓦工VPS的基本介绍 搬瓦工(Bandwagon Host)作为一家知名的VPS提供商,以其稳定的网络连接和出色的性能赢得了众多用户的青睐。无论是个人网站搭建、企业应用部署,还是科学上网需求,搬瓦工VPS都能提供灵活且高效的解决方案。它的价格相对亲民,同时支持多种操作系统和自定义配置,满足了不同用...

      搬瓦工官网:高性价比VPS服务及购买指南

      当我第一次了解到搬瓦工(BandwagonHost),它是一家专注于VPS服务的公司,并隶属于加拿大IT7 Networks公司。这让我对搬瓦工的专业性和服务质量更加期待。这个名字在VPS领域已经有了一定的影响力,尤其是在追求高性价比的用户群体中。 搬瓦工官网有多个域名,比如bandwagonhos...

      搬瓦工VPS服务使用指南与优惠码获取技巧

      搬瓦工(BandwagonHost)是一家成立于2004年的网络服务公司,隶属于加拿大IT7。这家公司的崛起与它提供的超低价格VPS服务密不可分,尤其是在中国市场,搬瓦工已经积累了大量的用户和知名度。随着时间的推移,搬瓦工不仅没有止步于低价策略,而是逐渐向中高端VPS市场发展,推出了诸如CN2 GI...

      RackNerd 密码管理与安全指南:保护您的账户安全

      RackNerd 密码管理与安全 在探讨RackNerd的密码管理与安全之前,了解这个主机商的背景有助于我们更好地理解其服务的重要性。RackNerd成立于美国,专注于提供多种主机服务,包括虚拟主机、KVM VPS、Hybrid Dedicated Servers和独立服务器租用等。这些服务非常适合...

      选择最适合的泰国VPS解决方案,助力业务成功

      我一直对网络基础设施充满好奇,尤其是虚拟专用服务器(VPS)这一概念。VPS为用户提供了一种灵活且高效的网站托管解决方案,让我觉得非常迷人。而泰国VPS更是因其独特的地理位置和网络质量,成为了许多选择者的心仪之地。 什么是VPS呢?简单地说,VPS是一种通过虚拟化技术将物理服务器划分为多个独立的虚拟...