Nginx服务器反向代理配置实例及常见问题的解决

Nginx反向代理:

反向代理(ReverseProxy)是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,简单来说就是真实的服务器不能直接被外部网络访问,想要访问必须通过代理。
对于客户端来说是无感知的,因为客户端不需要任何配置就可以访问(正向代理需要在浏览器中进行配置),我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器回去数据以后,在返回给客户端,此时反向代理服务器 和目标服务器就是一个服务器,暴露的是代理服务器的地址,隐藏了真实服务器的ip地址。

反向代理的作用:

1、防止主服务器被恶意攻击
2、为负载均衡和动静分离提供实现支持

1、实现的效果

打开浏览器,在浏览器的地址栏中,输入www.123.com,跳转到linux系统tomcat主页面中

2、具体实现:

1)、在linux系统中,安装tomcat服务器,使用默认的端口8080
2)、对外开放访问的端口
先查询开发的端口号:

firewall-cmd --list-all

设置开放的端口:

firewall-cmd --add-port=8080/tcp --permanent

重启防火墙:

firewall-cam –reload

3)、启动tomcat服务器:

/usr/src/apache-tomcat-7.0.70/bin目录下,执行     ./startup.sh

4)、测试tomcat服务器是否正常
浏览器输入:
10.3.78.55:8080 打开一下页面,即为成功

Nginx服务器反向代理配置实例及常见问题的解决_第1张图片
我们最终要实现的是输入www.123.com打开如下页面。
4)、通过Nginx配置他的反向代理
在这里,我们先分析一下访问过程
Nginx服务器反向代理配置实例及常见问题的解决_第2张图片
注:tomcat集群只是端口号不一样,ip是一样的。
当我们在浏览器中,输入一个域名的时候,他首先回到本地的host文件中查看有没有相应的配置(域名映射的ip),如果有,根据这个执行;如果没有,到网络中找DNS域名解析服务器,找网络中的ip。
所以,我们需要进行如下操作:
1)、windows系统的host文件进行域名和ip对应关系的配置
host文件的位置:

C:\Windows\System32\drivers\etc

打开配置文件,加入:

10.3.78.55    www.123.com  (Nginx的Ip地址      域名)

配置好以后,当我们在浏览器中,输入:

www.123.com:8080

就可以打开tomcat服务器的页面了
Nginx服务器反向代理配置实例及常见问题的解决_第3张图片
距离我们最终的目标,只差一个 :8080.
2)、在Nginx的配置文件中,进行反向代理的配置:
Nginx服务器反向代理配置实例及常见问题的解决_第4张图片
3)、测试
在浏览器输入:

www.123.com

出现:
Nginx服务器反向代理配置实例及常见问题的解决_第5张图片
反向代理的实现流程:
1)浏览器访问www.123.com,通过本地host文件域名解析,找到10.3.78.55服务器(安装nginx)
2)nginx反向代理接受客户机请求,找到server_name为8080的server节点,根据proxy_pass对应的http路径,将请求转发到端口号为8080的tomcat服务器。

如果在启动的过程中,出现如下情况:

Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

原因分析:
80端口被占用。
解决方法:
查看80端口被那个进程占用:

ps -A | grep nginx

杀死对应进程:

killall -进程号 nginx 

你可能感兴趣的:(linux应用,nginx,tomcat,网络,反向代理)