nginx反向代理实践指南:访问Tomcat

目录

  • 前言
  • 1 实现的效果
  • 2 访问流程分析
  • 3 安装tomcat并测试
  • 4 配置
    • 4.1 在Windows系统的hosts文件进行域名和IP对应关系的配置
    • 4.2 在NGINX进行请求转发的配置(反向代理配置)
  • 5 最终测试
  • 结论

前言

从Windows系统访问Tomcat Web应用程序,设置和配置NGINX作为反向代理的过程尤为重要。本文将探讨如何在Linux系统上设置Tomcat,并在Windows系统上配置NGINX,以实现请求的有效转发至Tomcat服务器。这个过程旨在简化访问流程,使得用户能够通过NGINX轻松地访问位于Linux系统上的Tomcat Web应用程序。

我们将深入研究如何利用NGINX作为反向代理,在Windows系统上配置和设置,以便从Windows系统无缝访问位于Linux系统上的Tomcat Web应用程序。这一流程包括在Linux系统上的Tomcat设置,并在Windows系统上完成NGINX的配置,以确保请求能够有效地传递到Tomcat服务器。通过这种设置,用户可以更轻松地访问并管理Tomcat Web应用程序。

1 实现的效果

通过在浏览器地址栏键入简单易记的网址www.123.com,用户即可便捷地访问位于Linux系统上Tomcat的主页,无需直接指定访问Linux的8080端口。这个简便的访问方式有效地将复杂的端口访问细节屏蔽,为用户提供了更加直观、友好的访问体验。

2 访问流程分析

在这里插入图片描述

从图中可以清晰地观察到,访问www.123.com 实际上会将请求转发到IP地址为192.168.17.129的主机的端口80。这个IP地址在实际情况中充当了127.0.0.1的代理,而后者本身是指向Tomcat服务器的8080端口。因此,通过这个复杂但高效的代理流程,用户在键入www.123.com后,就直接获得了Tomcat的主页面,而无需直接了解或访问服务器的具体端口。这个代理机制使得访问过程对用户而言更加透明和简化,隐藏了底层的技术细节,为用户提供了更直接、更轻松的Tomcat访问体验。

3 安装tomcat并测试

当在Linux系统中安装Tomcat时,首先需将Tomcat安装文件传输到Linux系统并进行解压操作。接着,进入Tomcat的"bin"目录,并执行"./startup.sh"命令以启动Tomcat服务器,确保其运行在默认端口8080上。一旦Tomcat运行,为了使其可以被外部访问,需要打开防火墙的8080端口。这可通过运行以下命令实现:

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

执行这些命令后,您可以使用"firewall-cmd --list-all"命令来确认已经成功开放了8080端口。

在完成这些步骤后,您可以在Windows系统中通过浏览器访问Tomcat服务器。这个过程涉及在浏览器地址栏中输入Linux系统的IP地址或域名,并指定端口号8080。这样,您就可以轻松访问Tomcat服务器,并管理其上托管的Web应用程序。

在这里插入图片描述

4 配置

4.1 在Windows系统的hosts文件进行域名和IP对应关系的配置

在Windows系统中,需要找到hosts文件的目录,一般位于C:\Windows\System32\drivers\etc\。打开hosts文件,在其中添加如下内容。

在这里插入图片描述

192.168.17.129 www.123.com

这样做的目的是将域名www.123.com映射到IP地址192.168.17.129,以便在浏览器中键入www.123.com时能够正确指向相应的服务器。

4.2 在NGINX进行请求转发的配置(反向代理配置)

在NGINX的配置文件中进行反向代理的设置。示例配置如下:

server {listen 80;server_name 192.168.17.129;location / {proxy_pass http://127.0.0.1:8080; # 此处填写Tomcat服务器的地址和端口}
}

上述配置中,listen 80指示NGINX监听80端口,server_name www.123.com表示NGINX将会响应来自www.123.com的请求。proxy_pass指令将请求代理转发至指定的Tomcat服务器的地址和端口(此处示例为127.0.0.1:8080,请根据实际情况进行修改)。proxy_set_header用于设置HTTP请求的头信息,确保转发的请求能够正确传递到Tomcat服务器。

完成以上配置后,NGINX将作为反向代理服务器,将来自www.123.com的请求代理到Tomcat服务器上,用户通过访问www.123.com即可直接访问Tomcat的主页,实现了代理的转发功能。

5 最终测试

完成配置后,在Windows系统的浏览器中输入 www.123.com。NGINX应将请求路由到Tomcat服务器,显示Tomcat主页。

在这里插入图片描述

结论

NGINX的反向代理功能为我们提供了强大的工具,使得访问后端服务器上的应用程序变得更加便捷和安全。通过本文介绍的NGINX反向代理实践,我们学习了如何利用NGINX作为反向代理服务器,将来自Windows系统的请求转发到Linux系统上运行的Tomcat服务器。这种设置不仅简化了访问流程,还有效隐藏了底层服务器的复杂性,为用户带来了更优质、更简单的体验。

反向代理不仅仅是一种简单的转发请求的方式,更是一种保障系统安全性、提升性能和灵活管理的有效途径。NGINX作为一款高效可靠的服务器软件,其反向代理功能在现代网络架构中扮演着重要的角色,为用户和开发者提供了稳定、可靠的访问解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/225058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VUE-脚手架搭建

文章目录 一、概述二、前提准备1. 安装 node-js2. npm 镜像设置3. 安装 vs-code 三、脚手架搭建1. Vue-2 搭建1. Vue-3 搭建 一、概述 官网:http://cn.vuejs.org/ vue 有两个大版本,分别是 vue-2 和 vue-3,目前新项目的话用 vue-3 的会比较多…

Elasticsearch 进阶(索引、类型、字段、分片、副本、集群等详细说明)-06

笔记来源:Elasticsearch Elasticsearch进阶 进阶-核心概念 索引Index 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引。一个索引由一个名字…

RT-DETR 图片目标计数 | 特定目标进行计数

全类别计数特定类别计数如何使用 RT-DETR 进行对象计数 有很多同学留言说想学 RT-DETR 目标计数。那么今天这篇博客,我将教大家如何使用 RT-DETR 进行对象计数。RT-DETR 是一种非常强大的对象检测模型,它可以识别图像中的各种对象。我们将学习如何利用这个模型对特定对象进行…

迅为RK3568开发板使用OpenCV处理图像-ROI区域-位置提取ROI

在图像处理过程中,我们可能会对图像的某一个特定区域感兴趣,该区域被称为感兴趣区域(Region of Interest, ROI)。在设定感兴趣区域 ROI 后,就可以对该区域进行整体操作。 位置提取 ROI 本小节代码在配套资料“iTOP-3…

C++ 学习系列 -- 模板 template

一 C 模板介绍? C 为什么引入模板? 我的理解是: C 引入模板的概念,是为了复用重复的代码,当某些代码除了操作的数据类型不同以外,其他逻辑全都相同,此时就适合采用模板的方式。 定义模板类或者…

黑豹程序员-axios+springmvc传递数组

问题 奇怪的现象,axios在往后台传递数组时,springmvc竟然接收不到 解决 尝试多次无果,突然看一篇文章写vue中的数组不是真正的数组需要强转转化JSON.stringify 将信将疑下测试了一把,还真的传递成功了。 不光要JSON.stringify…

Github 2023-12-15 开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目3非开发语言项目3JavaScript项目1Python项目1Rust项目1PHP项目1 基于项目的学习 创建周期&am…

微服务组件Sentinel的学习(3)

Sentinel 隔离和降级Feign整合Sentinel线程隔离熔断降级熔断策略 授权规则:自定义异常 隔离和降级 虽然限流可以尽量避免因高并发而引起的服务故障,但服务还会因为其它原因而故障。而要将这些故障控制在一定范用避免雪崩,就要靠线程隔离(舱壁…

Dockerfile创建镜像--LNMP+wordpress

实验准备: nginx:172.111.0.10 docker-nginx mysql:172.111.0.20 docker-mysql php:172.111.0.30 docker-php 自定义网段:172.111.0.0/16mkdir nginx mysql php mv nginx-1.22.0.tar.gz wordpress-6.4.2-zh_CN.ta…

Polkadot 品牌焕新提案:重返前卫,市场营销的创新愿景

波卡的品牌形象和营销策略也许将迎来新变化。长久以来一些社区成员批评道,波卡的形象过于保守、太企业化,缺乏 Crypto 行业应有的先锋气质。 在前阵子的 Parity “去中心化” 变革中,Parity 的营销团队经历了大幅的变动,随后建立…

UGUI 鼠标悬浮UI出现弹框,鼠标在图片边缘出现闪烁

1、背景:鼠标悬浮在UI上出现提示框 public class SpecialParam_list : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler {public void OnPointerEnter(PointerEventData eventData){TipBox.Instance.ShowBox(Input.mousePosition, value);}public void …

如何实现免费的文档翻译

文中有彩蛋,请一定要看完。 目录 文中有彩蛋,请一定要看完。 一、问题的提出 二、文档翻译现状 三、如何免费海量文档翻译 1. 采用CAT工具机器翻译API法 2. 采用小牛文档翻译 四、学后反思 一、问题的提出 随着互联网和人工智能技术的飞速发展&…

Kubernetes 容器编排(2)

可视化部署 官方Dashboard 部署Dashboard # kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml # kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard # 注意将 type: ClusterIP 改为 type: NodePo…

案例064:基于微信小程序的考研论坛设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

php入门、安装wampserver教程

php声称是全世界最好的语言,今天这篇文章就带大家入门学习php,php和python、javasript一样,是一种弱类型的脚本语言。 一、php开发环境搭建 作为初学者,学习php建议安装wampserver,wampserver是包含了apache、php和mys…

MFC逆向之CrackMe Level3 过反调试 + 写注册机

今天我来分享一下,过反调试的方法以及使用IDA还原代码 写注册机的过程 由于内容太多,我准备分为两个帖子写,这个帖子主要是写IDA还原代码,下一个帖子是写反调试的分析以及过反调试和异常 这个CrackMe Level3是一个朋友发我的,我也不知道他在哪里弄的,我感觉挺好玩的,对反调试…

VMP泄露编译的一些注意事项

VMP编译教程 鉴于VMP已经在GitHub上被大佬强制开源,特此出一期编译教程。各位熟悉的可以略过,不熟悉的可以参考一下。 环境(软件) Visual Studio 2015 - 2022 (建议使用VS2019,Qt插件只有这个版本及以上…

vscode的文件和文件夹的警告标志如何消去

由于平时用vscode写一些java的小demo, 但是这个vscode的警告和错误管理很奇怪, 这个警告信息会显示在这个侧边的文件和文件夹中, 我上网上找能不能把这个给去掉的办法, 找了半天没找到。 于是我就自己去查了一下这个vscode的设置, 真让我找到了这方面的开关, 把下面的这个关闭…

Linux学习笔记-Ubuntu下ssh服务器连接异常Connection reset

文章目录 一、问题问题现象1.1 连接重置无法访问的的问题1.2 查看服务器连接状态1.3 使用调试模式查看的信息 二、临时解决方法三、从根源解决问题3.1 问题分析3.2 服务器的ssh日志3.3 修改ssh配置禁止root登录3.4 配置允许所有ip访问3.5 修改认证方法 角色:百世经纶…

selenium+xpath爬取二手房标题

贝壳找房标题爬取需要注意的是,在页面中间有一个小广告 而他就在ul的li下面,当我们进行title所以输出时,会报错。 所以在进行页面解析之前必须把广告叉掉,不然也把广告那一部分的li给爬取下来了 所以,我们&#xff0…