精华内容
下载资源
问答
  • 基于Linuxnginx反向代理服务器的应用研究毕业论文.doc
  • linux nginx反向代理配置

    千次阅读 2018-11-02 10:55:06
    linux nginx反向代理配置 location ^~/api/ {  proxy_pass http://192.168.1.50:82/; }  

     

    linux  nginx反向代理配置

    location ^~/api/ {
            proxy_pass   http://192.168.1.50:82/;
    }

     

    展开全文
  • nginx反向代理tcp端口详细操作说明,代理所有tcp端口说明
  • 一、下载Nginx 自行下载想要的版本:华为开源镜像站 没有更新工具可以更新下工具 yum update yum -y install wget 进入要安装的目录 cd /usr/local/ wget ...

    一、下载、安装Nginx

    自行下载想要的版本:华为开源镜像站
    没有更新工具可以更新下工具

    yum update
    yum -y install wget
    

    进入要安装的目录

    cd /usr/local/
    wget https://mirrors.huaweicloud.com/nginx/nginx-1.15.10.tar.gz
    

    查看目录

    ll
    

    解压文件

    tar -zxvf nginx-1.15.10.tar.gz
    

    安装编译工具及库文件

    yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
    

    安装nginx

    cd cd nginx-1.15.10
    ./configure
    make
    make install
    

    启动nginx准备工作
    打开防火墙开80端口,或关闭防火墙
    这里把tomcat端口也一块开了,开个8080、8081、8082就行
    命令

    开启防火墙:systemctl start firewalld
    关闭防火墙:systemctl stop firewalld
    查看防火墙状态:systemctl status firewalld
    设置开机启动:systemctl enable firewalld
    禁用开机启动:systemctl disable firewalld
    重启防火墙:firewall-cmd --reload
    开放端口(需要重启防火墙方可生效):firewall-cmd --zone=public --add-port=80/tcp --permanent
    查看开放的端口:firewall-cmd --list-ports
    关闭端口(需要重启防火墙方可生效):firewall-cmd --zone=public --remove-port=80/tcp --permanent

    启动nginx
    安装nginx后默认安装到/usr/local/nginx,原本的nginx-1.15.10文件就没什么用了,可以留着

    cd /usr/local/nginx/sbin/
    ./nginx
    

    在浏览器上访问linux的ip地址,出现如下界面就是成功
    在这里插入图片描述

    二、设置nginx开机自启动

    vi /etc/rc.local
    输入 i
    追加/usr/local/nginx/sbin/nginx
    按ESC #退出编辑模式
    :wq #保存并退出
    chmod 755 /etc/rc.local
    

    重启验证

    三、安装tomcat

    cd /usr/local
    mkdir tomcats
    cd tomcats
    wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.51/bin/apache-tomcat-8.5.51.tar.gz
    wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.100/bin/apache-tomcat-7.0.100.tar.gz
    

    解压两个版本的tomcat,方便代理的时候分得清

    tar -zxvf 压缩包名称
    

    改文件名称

    mv apache-tomcat-8.5.51 tomcat81
    mv apache-tomcat-7.0.100 tomcat82
    

    更改tomcat端口,需要改两处,两个tomcat都要改
    更改内容+1就可以
    更改文件路径:/usr/local/tomcats/tomcat81/conf/server.xml
    在这里插入图片描述
    在这里插入图片描述
    启动两个tomcat,并访问,访问的前提要开端口,或者关闭防火墙,上面提到过

    cd tomcat81/bin/
    ./startup.sh #开启tomcat
    ./shutdown.sh #关闭tomcat
    ^*^tomcat82也这样开启
    

    查看是否开启

    ps -ef | grep tomcat
    

    浏览器访问
    在这里插入图片描述

    四、nginx反向代理tomcat

    ps: 本教程是通过访问nginx来切换两个tomcat,像集群。。
    修改nginx配置文件

    cd /usr/local/nginx/conf/
    vi nginx.conf
    

    更加/修改如下内容
    在这里插入图片描述
    重启nginx生效

    cd /usr/local/nginx/sbin/
    ./nginx -s reload
    

    使用浏览器访问192.168.1.210192.168.1.210:80
    通过不断刷新发现两个tomcat版本之间来回切换

    展开全文
  • 二、Nginx反向代理获取客户端的真实IP 我们访问互联网的服务时,大多数时,客户端并不是直接访问到服务端的,而是客户端首先请求到反向代理,反向代理再转发到服务端实现服务访问。 可以看出, nginx的反向代理...

    一、代理服务器

    代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务器接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

    举个例子: 代理 就如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户。

    1.1 为什么要使用代理服务器?

    (1)提高访问速度:

    由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度。

    (2)防火墙作用:

    由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。

    (3)通过代理服务器访问不能访问的的目标站点:

    互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点。

    1.2 什么是正向代理?

    一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

    正向代理总结就一句话:代理端代理的是客户端。

    正向代理最大的特点就:客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端。;正向代理模式屏蔽或者隐藏了真实客户端信息。

    1.3 什么是反向代理?

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求,发给内部网络上的服务器并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

    反向代理总结就一句话:代理端代理的是服务端。

    举个例子:几乎所有人都用过淘宝,每天同时连接到淘宝网站的访问人数已经爆表,单个服务器远远不能满足人民日益增长的购买欲望了,此时就出现了一个大家耳熟能详的名词:分布式部署;也就是通过部署多台服务器来解决访问人数限制的问题;淘宝网站中大部分功能也是直接使用nginx进行反向代理实现的,并且通过封装nginx和其他的组件之后起了个高大上的名字:Tengine
    在这里插入图片描述
    上图表示的是全国各地的用户在淘宝客户端发出请求,经过了Nginx 反向代理服务器,nginx服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理。

    特点:此时请求的来源客户端是明确的,但是请求具体由哪台服务器处理的并不明确了。

    反向代理,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息

    二、Nginx反向代理获取客户端的真实IP

    我们访问互联网的服务时,大多数时,客户端并不是直接访问到服务端的,而是客户端首先请求到反向代理,反向代理再转发到服务端实现服务访问。
    在这里插入图片描述可以看出,nginx的反向代理实现跨域的同时也彻底改变了服务器的请求来源,隔离了用户和服务器的连接,服务端获取不到真实的客户端ip,只能获取到反向代理服务的ip,那么nginx怎样才能获取到真实的ip呢?

    • 利用Nginx中的realip模块获取用户的真实ip。将各层代理的IP排除在外,就取到了真实的用户IP,这个可以使用nginx的一个模块realip_module 来实现从XFF中抛弃指定的代理层 IP,得到一个符合规则的就是用户IP 。nginx的 realip_module 模块需要在编译nginx的时候加上参数–with-http_realip_module。

    2.1 用一台服务器模拟实现获取本机ip

    1、进入解压目录,添加realip_module模块,重新编译,make

     ./configure --prefix=/usr/local/nginx --with-file-aio --with-http_realip_module  
    
     
    • 1

    在这里插入图片描述

    在这里插入图片描述
    nginx -V ,查看编译参数
    在这里插入图片描述

    2、添加虚拟主机: vim /usr/local/nginx/conf/nginx.conf

    server {
       	 listen 80;
            server_name server1;
       	 location / {
                    return 200;
            }  
            }
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    3、开启nginx服务且测试:200 ok说明虚拟主机添加成功 (添加本机解析)
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    4、检测成功时,我们让他 回应real ip

    • ==$remote_addr:代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,并不是真实客户端IP; ==. 当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web服务器(Nginx,Apache等)就会把remote_addr设为你的机器IP,如果你用了某个代理,那么你的浏览器会先访问这个代理,然后再由这个代理转发到网站,这样web服务器就会把remote_addr设为这台代理机器的IP,,除非代理将你的IP附在请求header中一起转交给web服务器
    server {
      	 listen 80;
           server_name server1;
      	 location / {
                   return 200 "client real ip: $remote_addr\n";
           }  
           }
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    5、平滑重启nginx,再次测试:

    在这里插入图片描述

    6、 从X-Forwarded-For中获取到真实客户端IP ,更改配置文件:vim /usr/local/nginx/conf/nginx.conf

    • X-Forwarded-For: 简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过HTTP 代理或者负载均衡服务器时才会添加该项,正如上面所述,当你使用了代理时,web服务器就不知道你的真实IP了,为了避免这个情况,代理服务器通常会增加一个叫做x_forwarded_for的头信息,把连接它的客户端IP(即你的上网机器IP)加到这个头信息里,这样就能保证网站的web服务器能获取到真实IP。
    • XFF的格式为X-Forwarded-For: client, proxy1, proxy2。 XFF 的内容由「英文逗号 + 空格」隔开的多个部分组成,最开始的是离服务端最远的设备 IP,然后是每一级代理设备的 IP(注意:如果未经严格处理,可以被伪造)。如果一个 HTTP 请求到达服务器之前,经过了三个代理 Proxy1、Proxy2、Proxy3,IP 分别为 IP1、IP2、IP3,用户真实 IP 为 IP0,那么按照 XFF 标准,服务端最终会收到以下信息X-Forwarded-For: IP0, IP1, IP2,Proxy3 直连服务器,它会给 XFF 追加 IP2,表示它是在帮 Proxy2 转发请求,列表中并没有 IP3,IP3 可以在服务端通过 Remote Address 字段获得。
    server {
      	 listen 80;                    
           server_name server1;              # 添加域名
           set_real_ip_from 172.25.2.1;    # 真实服务器上一级代理的IP地址或者IP段,可以写多行
           real_ip_header X-Forwarded-For;    # 告知Nginx真实客户端IP从哪个请求头获取
           real_ip_recursive off;                       # 是否递归解析,off表示默认从最后一个地址开始解析;on表示从前往后依次递归获取ip
      	 location / {
                   return 200 "client real ip: $remote_addr\n";
           }  
           }
    
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述
    7、平滑重启nginx,再次测试:curl -H “X-Forwarded-For:1.1.1.1,172.25.2.1” server1

    在这里插入图片描述
    当配置文件里的参数 real_ip_recursive 为off 时:

    • real_ip_recursive :是否递归解析,off表示默认从最后一个地址开始解析;on表示从前往后依次递归获取ip

    在这里插入图片描述

    配置文件里的参数 real_ip_recursive 为on 时:

    在这里插入图片描述

    2.2 配置真正的反向代理服务器

    实验环境

    主机信息主机的功能(服务)
    server1(172.25.2.1)后端服务器 (nginx+http_realip_module )
    server2(172.25.2.2)反向代理服务器
    真机(172.25.2.250)用作客户端测试

    1、在server1上面进行配置,修改nginx服务器默认发布页面的内容

    在这里插入图片描述
    在这里插入图片描述
    2、修改配置文件,添加内容
    在这里插入图片描述

    在这里插入图片描述

    3、进行语法检测,重启服务

    在这里插入图片描述
    4、将server1上编译好的nginx的目录发送给server2

    在这里插入图片描述
    5、在server2(代理服务器)上面进行配置,代理服务器的配置参考官网
    在这里插入图片描述

    6、编写server2代理服务器上的配置文件

    在这里插入图片描述

    在这里插入图片描述
    7、删除代理服务器server2上面的web资源

    在这里插入图片描述8、在真机上面进行测试,写解析
    在这里插入图片描述

    9、可以看到访问的域名对应的是server2主机的IP,但是访问到的内容却是server1的发布页

    在这里插入图片描述
    在server1上查看访问日志:/usr/local/nginx/logs/access.log可以看到nginx服务器可以直接获取到客户端的ip。

    注释掉nginx服务器的这两行时,获取到的ip就是代理服务器的ip
    在这里插入图片描述
    在这里插入图片描述

    在server1上查看访问日志:/usr/local/nginx/logs/access.log可以看到nginx服务器获取的ip为代理服务器的ip。

    展开全文
  • 解决配置Nginx反向代理后,可以通过域名访问Linux下部署的Tomcat,但却访问不到部署的项目问题
  • Linux下通过nginx反向代理tomcat

    千次阅读 2018-11-30 09:51:00
    环境准备:在windows系统上创建三个CentOS7虚拟机,ip地址分别为192.168.91.128,192.168.91.129,192.168.91.131。 ...安装Nginx之前,首先要安装好编译环境gcc和g++,安装Nginx需要PRCE库、z...

    环境准备:在windows系统上创建三个CentOS7虚拟机,ip地址分别为192.168.91.128,192.168.91.129,192.168.91.131。

    在前两个虚拟机上配置好tomcat环境,简单搭建个项目,区分开,并分别可以访问。

    192.168.91.131作为nginx服务器。

    安装Nginx之前,首先要安装好编译环境gcc和g++,安装Nginx需要PRCE库、zlib库和ssl的支持。

    nginx,zlib和pcre下载地址分别为:

    http://nginx.org/en/download.html

    http://www.zlib.net/

    https://ftp.pcre.org/pub/pcre/

    1.安装gcc: 命令:yum install gcc-c++(安装过程出现选择都选y)

    2.安装openssl库  命令:yum install -y openssl openssl-devel

    3.把压缩包上传到服务器的/usr/local目录下,解压pcre,zlib和nginx  命令:tar -xvzf  pcre-8.42.tar.gz

    4.都解压过后,进入nginx-1.14.1目录下,运行./configure。生成了makefile文件

    5.编译 命令:make。

    6.安装 命令:make install。完成后local目录下多了个nginx

    7.进入nginx的sbin目录,启动nginx,此时nginx已启动,测试连接后关闭 ./nginx  -s  stop

    8.在nginx的conf目录下修改nginx.conf文件。

    在http{}下添加如下内容

    	upstream xiaodou{
    		server 192.168.91.128:8080;
    		server 192.168.91.129:8080;
    	}

    在server{location /{}}下添加如下内容

    proxy_pass http://xiaodou;

    最后如下图所示:

    修改完成后启动nginx,最后结果如下所示:

    nginx完成了反向代理。

    展开全文
  • 切换host的工具:域名解析配置工具 ... ...nginx配置文件:nginx.conf ...nginx -s reload 修改配置文件后重新加载 nginx -s stop关闭 nginx -s restart重启 nginx -s stop ...反向代理步骤: 进入安...
  • Nuxt项目部署到Linux Nginx反向代理 Kaki的博客 1.nuxt 项目先本地执行 yarn build命令 2.拷贝下面标记的文件至服务器部署目录/opt/deploy/front 3.进入目录执行(linux) cd /opt/deploy/front npm install -...
  • 准备反向代理的网站:www.a.com ...进入nginx的配置文件: server_name我就不说了,就是自己的域名 添加如下: 1 location / { 2 proxy_set_header X-Real-IP $remote_addr; 3 proxy_set_header X-For...
  • nginx 下载地址:http://nginx.org/en/download.html 记录2个例子用于来理解反向代理   目录 1.反向代理一个项目 2.反向代理多个项目   1.反向代理一个项目 1.我在html目录下放了一个html1文件夹 里面....
  • 1、在安装nginx之前先安装nginx的依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 2、查看一下nginx有没有安装好 ...wget http://learning.happymmall.com/nginx/linux-ngin...
  • 第一次装Nginx 折腾了大半天 刚开始装的时候...Linux版本:CentOS 7 首先 安装编译工具和库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 然后 安装pcre库 让Nginx支持Rewr...
  • 如人饮茶,冷暖自知 1:nginx:属于web服务器,运行web页面,是一个轻量级的web服务器;...3:nginx反向代理: 反向代理的特点:(1):隐藏后端web服务器的IP地址 (2):负载均衡 (3):加速后端web页面的访问速度 ...
  • 2.上传nginx并解压安装包 //解压 tar -xvf nginx-1.20.1.tar.gz //将解压好的包移到local目录下 mv nginx-1.20.1 /usr/local/ 3.安装nginx cd /usr/local/nginx-1.13.7 //执行命令 ./configure --prefix=/usr/local...
  • 1.Nginx介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru...Nginx是一款轻量级的Web 服务器/反向代理服务
  • Nginx的简介:Nginx是一款轻量级Web服务器、也是一款反向代理服务器,Nginx可直接支持Rails和PHP的程序、可作为HTTP反向代理服务器、可作为负载均衡服务器、作为邮件代理服务器、帮助实现前端动静分离。 Nginx特点:...
  • LINUX Nginx反向代理

    千次阅读 2019-05-24 19:49:24
    使用Nginx实现Web反向代理功能,实现如下功能: 后端Web服务器两台,可以使用httpd实现 Nginx采用轮询的方式调用后端Web服务器 两台Web服务器的权重要求设置为不同的值 最大失败次数为1,失败超时时间为30秒...
  • 第一步下载安装nginx 1.下载安装nginx前,需要先下载相关的编译环境。 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel 2.下载安装nginx nginx下载地址:https://nginx.org/download/ 下载“nginx-...
  • 以前安装nginx是在Centos6.5上,用自动化脚本安装依赖和nginx一直都很顺利,现在在Centos8.2上不能正常运行,自己研究了下怎么搭建nginx环境和反向代理Tomcat,遇到了一些坑,现在把成功搭建的过程简单记录下。...
  • 当前Nginx已经反向代理了两个网站,分别是基于Windows的IIS和Linux的Apach服务器,提供网页服务。 现在有新项目的网页需要对外提供服务,需要在代理服务器上增加另外一个网站,使用HTTPS访问以及HTTP自动跳转HTTPS。...
  • 概述 代理服务器众所周知,可以分为正向代理和反向代理。正向代理就是我们通常说的代理服务器。我们简单先做一个概念阐述: ...本教程设置的是nginx反向代理功能的实现。同时,反向代理还可以实...
  • 后在root权限下的nginx的sbin下使用./nginx -t(命令重启nginx并检查是否有语法错误) 或者使用 ./nginx -s reload(重新加载) lsof -i :端口号 (查看当前哪个端口被使用) 本文没写如何配置项目路径。如需想知道,...
  • Nginx 一个高性能的HTTP和反向代理服务器 Nginx能做什么 ——反向代理 ——负载均衡 ——HTTP服务器(动静分离) ——正向代理 以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,详细说明每种功能怎么做。 ...
  • Linux环境下Nginx反向代理配置部署

    千次阅读 2018-09-11 17:43:49
    1.安装Nginx sudo apt-get install –y nginx 浏览器地址栏输入进行验证: http://192.168.1.38:80/ 2.编辑default.conf(没有这个文件,输入内容可以直接保存) vi /etc/nginx/conf.d/default.conf ...
  • Nginx 反向代理1. 站点监听3000 端口server { listen 80; server_name a.xxxxx.com; location / { proxy_pass http://localhost:8080; } } 2. 静态文件cdnserver { listen 80; server_name cdn.x
  • 如题,今儿个,已经有了阿里云上的申请域名、安全组配置和ssl证书密钥,并且通过ip+端口号能访问服务器上跑的项目,所以接下来需要把此...第一大步:linux下安装nginx: 这里是用的yum命令(yum是linux软件包管...
  • nginx.conf配置文件如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx....
  • LINUXNGINX反向代理下的TOMCAT集群 Nginx具有反向代理(注意和正向代理的区别)和负载均衡等特点。 这次Nginx安装在 192.168.1.108 这台linux 机器上。安装Nginx 先要装openssl库,gcc,PCRE,zlib库等。Tomcat ...
  • 实现负载均衡的方式有很多,有硬件方式,如:F5服务器 或者 软件方式,如:lvs(Linux虚拟服务器)或Nginx。我选择了利用Nginx来实践负载均衡。Nginx简介nginx是通过反向代理的方式实现负载均衡...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,472
精华内容 19,388
关键字:

linuxnginx反向

linux 订阅