1 proxy inverso
1.1 ¿Qué es un proxy inverso
proxy de reenvío
Reverse Proxy:
modo proxy inverso (proxy inverso) se refiere al servidor proxy para aceptar solicitudes de conexión en el Internet, a continuación 将请求转发给内部网络上的服务器
, y vuelve al cliente solicitante en la conexión de internet en los resultados obtenidos desde el servidor, y el aparece servidor proxy externos como una servidor proxy inverso.
Determina servidor proxy inverso qué servidor para proporcionar servicios.
Dependiendo de la solicitud de nombres de dominio, Nginx
reenvía la solicitud al servidor correspondiente, ocultando así la dirección real del servidor.
Servidor proxy inverso no presta servicios, también
请求的转发
.
1.2 Beneficios de proxy inverso
beneficios de proxy inverso: 隐藏真实内部 ip 地址
una solicitud de acceso a nginx
un servidor proxy (fuera de la red de acceso lata), a continuación, utilizar el nginx
servidor de retransmisión para el servidor real.
1,3 Nginx
para lograr proxy inverso
Dos nombres de dominio apuntan al mismo nginx
servidor, diferentes usuarios el acceso al nombre de dominio para mostrar diferentes contenidos web.
- Dos son los nombres de dominio
www.e3mall.com
ywww.taotao.com
nginx
El servidor utiliza una máquina virtual:192.168.153.11
Paso 1: instalar dos
tomcat
corrían8080
y8081
puerto.
Descargar Tomcat
:
wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.23/bin/apache-tomcat-8.0.23.tar.gz
descompresión:
tar -zxvf apache-tomcat-8.0.23.tar.gz
Copiar los dos Tomcat
:
cp apache-tomcat-8.0.23 tomcat-1 -r
cp apache-tomcat-8.0.23 tomcat-2 -r
[root@weaver-1 ~]# ll
total 8872
-rw-------. 1 root root 1801 Jan 6 15:48 anaconda-ks.cfg
drwxr-xr-x. 9 root root 160 Mar 18 03:43 apache-tomcat-8.0.23
-rw-r--r--. 1 root root 9076980 May 19 2015 apache-tomcat-8.0.23.tar.gz
drwxr-xr-x. 9 root root 160 Mar 18 03:44 tomcat-1
drwxr-xr-x. 9 root root 160 Mar 18 03:44 tomcat-2
[root@weaver-1 ~]#
Modificar tomcat-1
el número de puerto es 8001
:
vi tomcat-1/conf/server.xml
Modificar los tres puertos:
# 8005 改为 8006
<Server port="8006" shutdown="SHUTDOWN">
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
......
# 8080 改为 8001
<Connector port="8001" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
......
# 8009 改为 8010
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
Modificar tomcat-2
el número de puerto es 8002
:
vi tomcat-2/conf/server.xml
Modificar los tres puertos:
# 8005 改为 8007
<Server port="8007" shutdown="SHUTDOWN">
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
......
# 8080 改为 8002
<Connector port="8002" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
......
# 8009 改为 8011
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
Segundo paso: Comenzar dos
tomcat
:
tomcat-1/bin/startup.sh
tomcat-2/bin/startup.sh
[root@weaver-1 ~]# tomcat-1/bin/startup.sh
Using CATALINA_BASE: /root/tomcat-1
Using CATALINA_HOME: /root/tomcat-1
Using CATALINA_TMPDIR: /root/tomcat-1/temp
Using JRE_HOME: /usr/java/jdk1.8.0_131
Using CLASSPATH: /root/tomcat-1/bin/bootstrap.jar:/root/tomcat-1/bin/tomcat-juli.jar
Tomcat started.
[root@weaver-1 ~]# tomcat-2/bin/startup.sh
Using CATALINA_BASE: /root/tomcat-2
Using CATALINA_HOME: /root/tomcat-2
Using CATALINA_TMPDIR: /root/tomcat-2/temp
Using JRE_HOME: /usr/java/jdk1.8.0_131
Using CLASSPATH: /root/tomcat-2/bin/bootstrap.jar:/root/tomcat-2/bin/tomcat-juli.jar
Tomcat started.
[root@weaver-1 ~]#
Ver el arranque del éxito:
tail -f tomcat-1/logs/catalina.out
tail -f tomcat-2/logs/catalina.out
prueba:
Modificar la página de bienvenida:
vi tomcat-1/webapps/ROOT/index.jsp
vi tomcat-2/webapps/ROOT/index.jsp
```bash
<h1>${pageContext.servletContext.serverInfo} - 8001</h1>
<h1>${pageContext.servletContext.serverInfo} - 8002</h1>
actualización de la página:
Tercer paso: Configurar un servidor proxy inverso
Modificar el nginx
fichero de configuración:
vi /usr/local/nginx/conf/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.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
#gzip on;
server {
listen 80; # server监听的端口号
server_name localhost; # 配置域名
location / {
root html; # 拦截后,跳转根路径
index index.html index.htm; # 默认页面
}
}
############ 添加配置一
server {
listen 80;
server_name www.test1.com;
location / {
proxy_pass http://127.0.0.1:8001;
index index.html index.htm;
}
}
############ 添加配置二
server {
listen 80;
server_name www.test2.com;
location / {
proxy_pass http://127.0.0.1:8002;
index index.html index.htm;
}
}
}
O configurados de la siguiente manera:
#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.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
#gzip on;
server {
listen 80; # server监听的端口号
server_name localhost; # 配置域名
location / {
root html; # 拦截后,跳转根路径
index index.html index.htm; # 默认页面
}
}
############ 添加配置一
upstream test1 {
server 127.0.0.1:8001;
}
server {
listen 80;
server_name www.test1.com;
location / {
proxy_pass http://test1;
index index.html index.htm;
}
}
############ 添加配置二
upstream test2 {
server 127.0.0.1:8002;
}
server {
listen 80;
server_name www.test2.com;
location / {
proxy_pass http://test2;
index index.html index.htm;
}
}
}
Paso cuatro:
nginx
volver a cargar el archivo de configuración.
/usr/local/nginx/sbin/nginx -s reload
Quinto paso: Configurar el nombre de dominio
Añadir una correspondencia entre el nombre de dominio e IP en el archivo hosts en la máquina
192.168.153.11 www.test.com
192.168.153.11 www.test1.com
192.168.153.11 www.test2.com
prueba: