配置nginx反向代理
Posted 腾云T
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置nginx反向代理相关的知识,希望对你有一定的参考价值。
nginx反向代理
什么是反向代理,在说反向代理之前,我们先来说一说什么是正向代理,正向代理是我们最常接触的一种代理模式,正向代理最大的特点就是,客户端非常明确的知道自己要访问的服务器地址,但是服务器只知道请求来自于哪个代理服务器,并不清楚来自哪个具体的客户端,正向代理模式屏蔽或隐藏了真实的客户端信息。
说完了正向代理,我们再来说一下反向代理,反向代理就是多个客户端给服务器发送的请求,代理服务器接收到之后,按照一定的规则分发给了后端的服务器进行处理,此时,请求的来源也就是客户端是明确的,但是请求具体是从哪台服务器处理的并不明确,反向代理就是隐藏了服务器的信息。
反向代理配置
使用两台虚拟机来作一个配置
两台虚拟机的IP分别是192.168.60.60和192.168.60.70
-
在物理机机C:\\Windows\\System32\\drivers\\etc的hosts文件中,写下域名与IP的对应关系
-
把需要用到的jdk和Tomcat资源包上传好,我用的是这两个
[root@centos ~]# ls
apache-tomcat-8.5.43.tar.gz
jdk-8u77-linux-x64.rpm
- 在192.168.60.60上配置Tomcat站点,首先安装jdk
[root@centos ~]# rpm -ivh jdk-8u77-linux-x64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:jdk1.8.0_77-2000:1.8.0_77-fcs ################################# [100%]
Unpacking JAR files...
tools.jar...
plugin.jar...
javaws.jar...
deploy.jar...
rt.jar...
jsse.jar...
charsets.jar...
localedata.jar...
jfxrt.jar...
- 查看是否安装好
[root@centos ~]# java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
- 把Tomcat包解压缩
[root@centos ~]# tar xf apache-tomcat-8.5.43.tar.gz
- 移动位置
[root@centos ~]# mv apache-tomcat-8.5.43 /usr/local/
- 切换到 /usr/local/apache-tomcat-8.5.43 目录下
[root@centos ~]# cd /usr/local/apache-tomcat-8.5.43
- 切换到/bin 目录下
[root@centos apache-tomcat-8.5.43]# cd bin/
- 启动Tomcat
[root@centos bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-8.5.43
Using CATALINA_HOME: /usr/local/apache-tomcat-8.5.43
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.5.43/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/apache-tomcat-8.5.43/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.43/bin/tomcat-juli.jar
Tomcat started.
- 在浏览器输入http://192.168.60.60:8080 查看Tomcat页面
-
然后在192.168.60.70 上配置反向代理
需要注意的是这台虚拟机需要安装好nginx才可以进行下面的操作
-
切换到 /etc/nginx/conf.d/ 目录下
[root@localhost ~]# cd /etc/nginx/conf.d/
- 写 proxy.conf 的配置文件
[root@localhost conf.d]# vi proxy.conf
server {
listen 80;
server_name www.wlt.com;
index index.html;
location / {
proxy_pass http://192.168.60.60:8080;
include proxy_params;
}
}
- 写 proxy_params 的配置文件
[root@localhost conf.d]# vi /etc/nginx/proxy_params
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 32k;
proxy_buffering on;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
proxy_max_temp_file_size 256k;
- 查看nginx当前状态
[root@localhost conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
- 重启nginx
[root@localhost conf.d]# nginx -s reload
- 反向代理配置完成好,在浏览器输入http://www.wlt.com/ ,就可以看到已经反向代理到192.168.60.60:8080
以上是关于配置nginx反向代理的主要内容,如果未能解决你的问题,请参考以下文章