nginx搭建反向代理服务器
一、什么是反向代理?反向代理的作用?
反向代理(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文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | upstream monitor_server { server 172.16.17.112:8080; } server { listen 8900; server_name www.suibianyuming.cn; 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也没有多久时间,如果有不对的地方还请多多指教,谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~