反向代理

Nginx——反向代理多个服务器

元气小坏坏 提交于 2020-03-05 10:56:28
Nginx反向代理多个服务器,意思是说,当我们发起了不同的请求到nginx,nginx会根据请求的不同,转发到不同的服务器,如下图,当我们通过8000端口访问资源a时,nginx会将请求转发到8080服务器,当访问资源b时,会转发到8081服务器 我们先做下准备工作,首先准备两个tomcat服务器,分别是8080端口和8081端口,8080端口是默认的,这里进行修改8081的端口,首先我们进入tomcat下的conf目录下,进入server.xml文件进行如下两个地方的修改 一、修改shutdown端口号为8015 二、修改start端口号为8081 这样我们就有了两个tomcat了,接下来我们启动一下这两个tomcat,看是否都能访问,如果不能访问,可能就是你防火墙的问题, systemctl stop firewalld ,这个命令可以关闭防火墙,如果还不能访问,可能是阿里云未打开端口 当你的tomcat都可以正常访问后,我们在8080服务器上部署资源a,在8081服务器上部署资源b,具体部署,就是在tomcat下的webapps目录下分别创建a目录和b目录,并创建index.html,里面分别写8080,8081,方便一会测试,这里给出资源a 好了,接下来就是配置nginx了,进入到nginx的conf目录下打开nginx.conf文件,手动配置一个server块

nginx反向代理非80端口

↘锁芯ラ 提交于 2020-03-05 01:18:50
公司项目原本保存在阿里云服务器上,因需要搬迁到华为云上,但是备案尚未通过,使用了二级域名,而阿里云的网址一个月不访问会作废,所以需要先访问阿里云,再反向代理到华为云,并且不能映射80端口。最后我选择使用nginx反向代理81端口。 1. 准备两台在公网环境下的云服务器 例:阿里云:1.1.1.1 华为云:2.2.2.2 2. 在服务器上安装nginx并启动,在阿里云,华为云上开启需要的端口 使用telnet测试服务器端口是否能访问 ①打开cmd窗口并输入指令:telnet 云服务器ip地址 端口 telent 2.2.2.2 80 ②按下enter出现下图画面则表示端口开启成功(81端口同上) ③在云服务器上输入以下指令查看端口是否被监听 如上图所示,nginx已经在监听80,81端口 3.反向代理阿里80端口到华为81端口 1.因华为云单独监听81端口接收http请求,所以阿里云端口映射时需要在二级域名后携带端口 ①阿里云nginx.conf配置文件如下: 这样华为云服务器通过监听域名和端口再反向代理到内网服务器,否则会转向第一个监听默认端口80的server。 ②华为云server监听81端口和server_name为二级域名后可以再进行反向代理 华为云nginx.conf配置文件如下: 来源: CSDN 作者: AbortionL 链接: https://blog.csdn

nginx启用TCP反向代理日志配置

牧云@^-^@ 提交于 2020-03-03 19:53:07
  Nginx使用TCP反向代理日志配置不同于http   修改nginx配置文档/usr/local/nginx/conf/nginx.conf 设置日志格式 stream { log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"'; include ./conf.d/*.tcpstream; }   修改具体的tcp配置文档 server{ error_log /opt/log/device5001_error.log; access_log /opt/log/device5001_access.log proxy; listen 5001; proxy_pass device5001; }   检查日志 tail -f /opt/log/device5001_access.log   PS •测试发现nginx会等待session结束才会记录到日志文件; •session日志只是tcp层面的记录,包括session时间

正向代理与反向代理

我与影子孤独终老i 提交于 2020-03-03 18:30:01
关于Nginx的介绍:https://www.cnblogs.com/wcwnina/p/8728391.html 正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式 屏蔽或者隐藏了真实客户端信息。 客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。 总结来说: 正向代理, "它代理的是客户端,代客户端发出请求" ,是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 正向代理的用途: (1)访问原来无法访问的资源,如Google (2) 可以做缓存,加速访问资源 (3)对客户端访问授权,上网进行认证 (4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息 客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。 反向代理, "它代理的是服务端,代服务端接收请求" ,主要用于服务器集群分布式部署的情况下, 反向代理隐藏了服务器的信息。 反向代理的作用: (1)保证内网的安全

nginx反向代理

不羁岁月 提交于 2020-03-03 06:14:46
user nginx; worker_processes auto; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; sendfile on; tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; upstream www { server 192.168.1.125:81 weight=1 max_fails=2 fail_timeout=3;  

Nginx 相关配置

感情迁移 提交于 2020-03-03 01:34:31
准备环境:服务器ip为:110.110.110.110、 nginx监听80端口、两个tomcat端口分别为8080、8081; 【一】反向代理 实现访问http://110.1110.110.110/aaa/a.html 反向代理访问到http://110.1110.110.110:8001/aaa/a.html sever { listen 80; localhost 110.110.110.110; localtion ~ /aaa/ { proxy_pass http://127.0.0.1:8080; } } 【二】负载均衡 nginx实现负载均衡有四种方式:轮询(默认方式)、权重weight、ip_hash、fair; (1)轮询方式(默认方式):访问http://110.1110.110.110会依次代理到http://110.1110.110.110:8080和http://110.1110.110.110:8081 # server_pool自定义的名称,下面的proxy_pass里面需要用到 upstream server_pool { server 110.110.110.110:8080; server 110.110.110.110:8081; } sever { listen 80; localhost 110.110.110.110;

Nginx 配置实例之反向代理之二 centos环境

烈酒焚心 提交于 2020-02-29 22:15:45
实现得效果 使用nginx方向代理,根据访问得路径跳转到不同的端口的服务中。 nginx监听端口为9001, 访问http: //127.0.0.1 :9001/edu/ 直接跳转到127.0.0.1:8081 访问http: //127.0.0.1 :9001/vod/ 直接跳转到127.0.0.1:8082 准备工作 两个tomcat服务器分别设置端口,启动一个默认的8080,不需要改动 第二个进入conf文件中的server.xml文件中修改如下: 第一个地方修改shutdown端口号,这里我修改成8015: 第二个地方修改当然是最重要的启动端口了,这里修改为8081 第三个地放修改为8019 来源: oschina 链接: https://my.oschina.net/luocx/blog/3179648

正向代理

我只是一个虾纸丫 提交于 2020-02-28 10:53:25
我们想请求一个服务器的资源,由于防火墙,跨域等限制,不能直接得到。于是我们可以找代理,把我们的请求给代理,代理去请求那个服务器,然后返回给我们。 这叫正向代理。   本文转载自: http://blog.csdn.net/m13666368773/article/details/8060481 一、正向代理的概念   正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。   结论: 正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 二、反向代理的概念   举例:用户想访问:"http://ooxx.me/readme",但ooxx.me上并不存在readme页面,他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户

nginx原理及常用配置

与世无争的帅哥 提交于 2020-02-28 04:46:18
一. nginx基本介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。 Nginx历史和特性: Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。   其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。   Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 1、nginx高并发原理( 多进程+epoll实现高并发 ) Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程。 每个子进程只有一个线程,采用的 IO多路复用模型epoll,实现高并发。 2、epoll能实现高并发原理 epoll() 中内核则维护一个链表,epoll_wait 方法可以获取到链表长度,不为0就知道文件描述符准备好了。 在内核实现中 epoll 是根据每个 sockfd 上面的与设备驱动程序建立起来的回调函数实现的。 某个

Nginx(五)获取真实的客户端ip

牧云@^-^@ 提交于 2020-02-28 03:30:41
获取真实的客户端ip 我们访问互联网的服务时,大多数时,客户端并不是直接访问到服务端的,而是客户端首先请求到反向代理 反向代理再转发到服务端实现服务访问,通过反向代理实现路由/负载均衡等策略 这样在服务端拿到的客户端IP将是反向代理IP,而不是真实客户端IP,因此需要想办法来获取到真实客户端IP 前提:server1上有这个模块./configure --prefix=/usr/local/nginx … --with-http_ realip_ module 在server2上安装nginx并编写配置文件: 在测试端做解析: 测试: 但是在server1看到是server2访问的(实际是server3) 怎么才能让server1知道真正访问的人是谁?? server1: server2: server3: 查看:可以获取到真实访问的人 来源: CSDN 作者: Aa. NiceMan 链接: https://blog.csdn.net/AaNiceMan/article/details/104543959