共计 2096 个字符,预计需要花费 6 分钟才能阅读完成。
一、什么是反向代理?反向代理的作用?
反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护,所以说反向代理服务器也起到了安全防护作用。此外其还可以缓存静态内容,当静态内容发生变化时,通过内部通知机制通知反向代理服务器缓存失效,需重新加载,反向代理服务器还可以实现负载均衡。
二、安装 Nginx
Linux yum 或 rpm 安装,也可以下载 tar.gz 包解压之后 make 安装,博主是 Mac 系统,所以直接 brew install nginx 安装完成。此外,被代理的是一个应用服务器,这里我们用 Tomcat 即可,简单方便。
三、实现场景
tomcat 端口为另一台机器的 8080 端口,如下图所示。
那么我们要实现的是输入本机的某个端口号能够访问到该 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 172.16.17.112:8080;
}
server
{
listen 8900;
server_name www.linuxidc.net;
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://monitor_server;
}
#access_log logs/nagios.xxx123.tk_access.log;
}
按照上面的配置修改即可,如果有域名的可以修改 server_name,配置完之后,执行 nginx 命令启动之,效果如下。
可以看到,输入 localhost:8900 也可以访问刚刚的 112 上面的 tomcat 界面了。
五、总结
Nginx 在网络服务这一块应用还是非常多的,这里仅仅只是一个简单的端口代理,博主接触 Nginx 也没有多久时间,如果有不对的地方还请多多指教,谢谢。
下面关于 Nginx 的文章您也可能喜欢,不妨参考下:
CentOS 7 下 Nginx 服务器的安装配置 https://www.linuxidc.com/Linux/2017-04/142986.htm
CentOS 上安装 Nginx 服务器实现虚拟主机和域名重定向 https://www.linuxidc.com/Linux/2017-04/142642.htm
CentOS 6.8 安装 LNMP 环境(Linux+Nginx+MySQL+PHP)https://www.linuxidc.com/Linux/2017-04/142880.htm
Linux 下安装 PHP 环境并配置 Nginx 支持 php-fpm 模块 https://www.linuxidc.com/Linux/2017-05/144333.htm
Nginx 服务的 SSL 认证和 htpasswd 认证 https://www.linuxidc.com/Linux/2017-04/142478.htm
Ubuntu 16.04 上启用加密安全的 Nginx Web 服务器 https://www.linuxidc.com/Linux/2017-07/145522.htm
Linux 中安装配置 Nginx 及参数详解 https://www.linuxidc.com/Linux/2017-05/143853.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 https://www.linuxidc.com/Linux/2014-07/104686.htm
CentOS 7.2 下 Nginx+PHP+MySQL+Memcache 缓存服务器安装配置 https://www.linuxidc.com/Linux/2017-03/142168.htm
Nginx 反向代理实现 Tomcat 负载均衡 https://www.linuxidc.com/Linux/2018-03/151223.htm
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里