Nginx搭建反向代理服务器

2018-04-14 02:20:24 8597

一、什么是反向代理?反向代理的作用?

  反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

  当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护,所以说反向代理服务器也起到了安全防护作用。此外其还可以缓存静态内容,当静态内容发生变化时,通过内部通知机制通知反向代理服务器缓存失效,需重新加载,反向代理服务器还可以实现负载均衡。

二、安装Nginx

  Linux yum或rpm安装,也可以下载tar.gz包解压之后make安装,博主是Mac系统,所以直接brew install nginx安装完成。此外,被代理的是一个应用服务器,这里我们用Tomcat即可,简单方便。

三、实现场景

  tomcat端口为另一台机器的8080端口(假设ip为192.168.2.22),并且http://www.landui.com:8080能够正常访问
  那么我们要实现的是输入本机(安装有nginx服务)的某个端口号能够访问到该tomcat内容,那么本机的机器就充当了一个代理服务器的功能。

四、配置

  首先我们先进入/usr/local/etc目录下面,我们可以看到一个nginx的目录,这个目录里面基本都是nginx的配置文件。

  找到nginx.conf文件,vi打开,然后找到http{},在{}里面加上一句include /usr/local/etc/nginx/reverse-proxy.conf;

  这里的意思是引用另外一个代理服务的配置文件,退出vi,在同目录下面新建reverse-proxy.conf文件。

upstream monitor_server {
    server 192.168.2.22:8080;
}
server
{
    listen 8900;
    server_name www.landui.com;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://www.landui.com_server;
    }
    #access_log logs/nagios.xxx123.tk_access.log;
}

按照上面的配置修改即可,如果有域名的可以修改server_name,配置完之后,执行nginx命令启动之,

可以看到,输入localhost:8900也可以访问刚刚的2.22上面的tomcat界面了。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: