1什么是反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
首先我们先理解正向代理,如下图:
正向代理是针对你的客户端,而反向代理是针对服务器的,如下图
2准备工作:
(1) 将网站首页页面部署到tomcat中(ROOT目录),上传到服务器。
具体操作:
将需要部署的项目打包为ROOT。并将Linux中tomcat下webapps所以文件删除。(或者直接删除tomcat下root的文件,直接替换为项目所需要的文件)
然后将ROOT.war文件上传到webapps下。
(2)启动TOMCAT,输入网址http://192.168.40.131:8080可以看到网站首页
3配置反向代理
(1)在Nginx主机修改 Nginx配置文件
upstream pinyougou-portal{
server 192.168.40.131:8080;
}
server {
listen 80;
server_name www.pinyougou.com;
location / {
proxy_pass http://pinyougou-portal;
index search.html;
}
}
完整配置如下:
#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;
#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;
#gzip on;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name cart.pinyougou.com;
location / {
root cart;
index cart.html;
}
}
server {
listen 80;
server_name search.pinyougou.com;
location / {
root search;
index search.html;
}
}
upstream pinyougou-portal{
server 192.168.40.131:8080;
}
server {
listen 80;
server_name www.pinyougou.com;
location / {
proxy_pass http://pinyougou-portal;
index search.html;
}
}
}
第四布测试:
www.****.com.ok
需要修改host文件:
# nginx测试方案
192.168.40.131 cart.pinyougou.com
192.168.40.131 search.pinyougou.com
192.168.40.131 www.pinyougou.com
解释:
当浏览器输入访问server_name中的值时去访问nginx然后server_named的值会去解析proxy_pass的值,然后去找server,获取到:192.168.40.131:8080。然后去访问tomcat。然后 返回。。。。哪里说的不对还请大佬指出。