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作为一款高效可靠的服务器软件,其反向代理功能在现代网络架构中扮演着重要的角色,为用户和开发者提供了稳定、可靠的访问解决方案。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mybatisplus使用雪花id通过swagger返回ID时精度丢失问题

在使用mybatisplus自带雪花的时候会发现返回的ID是19位的长度,因此在通过swagger页面展示的时候会发现后端返回的和页面展示的ID不一致问题。是因为精度丢失的问题。因此需要更改雪花ID的长度跟踪进去:发现是DefaultIdentifierGenerator类实现了Identifi…

STP笔记总结

STP --- 生成树协议 STP(Spanning Tree Protocol,生成树协议)是根据 IEEE802.1D标准建立的,用于在局域网中消除数据链路层环路的协议。运行STP协议的设备通过彼此交互信息发现网络中的环路,并有选择地对某些端口进行阻…

pytest + yaml 框架 -60.git+jenkins+allure+钉钉通知反馈

前言 当我们自动化用例写完后,接下来就是如何运行用例,生成报告以及反馈通知了。 如果你们公司已经有jenkins了,那么直接集成到jenkins上构建你的自动化任务是非常方便的。 用例上传git仓库 第一步,将写好的自动化用例&#xf…

IDEA设置查看JDK源码

问题 我们在查看JDK源码时,可能会遇到这种情况,步入底层查看JDK源码时,出现一堆var变量,可读性非常之差,例如笔者最近想看到nio包下的SocketChannelImpl的write方法,结果看到这样一番景象: pu…

3小时快速入门自动化测试 —— Selenium测试工具

自动化测试 自动化测试简单来说就是利用自动化测试工具和自动化测试脚本来完成指定的测试任务,测试启动过程无需人工参与,但自动化测试之前的准备工作需要人工手动配置好。它是一种将重复性、繁琐的测试任务交给计算机自动执行的方法,能够显…

多条件三元表达式如何写?

在某些业务需求情况下,如何书写多条件三元表达式?(例如,父组件传值给子组件,子组件根据不同的值去响应不同的颜色变化该如何实现?) 父组件: 父组件传testData的值给子组件&#xff…

Jrebel 在 Idea 2023.3中无法以 debug 的模式启动问题

Jrebel 在 Idea 2023.3中无法以 debug 的模式启动问题 Idea 在升级了2023.3以后,Jrebel 无法以 debug 的模式启动,找了半天,最后在插件主页的评论区找到了解决方案 特此记录一下

Springboot+vue的公寓报修管理系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的公寓报修管理系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的公寓报修管理系统,采用M(model&…

HarmonyOS使用HTTP访问网络

HTTP数据请求 1 概述 日常生活中我们使用应用程序看新闻、发送消息等,都需要连接到互联网,从服务端获取数据。例如,新闻应用可以从新闻服务器中获取最新的热点新闻,从而给用户打造更加丰富、更加实用的体验。 那么要实现这样一种…

Android 12.0 Launcher3定制化之动态时钟图标功能实现

1.概述 在12.0的系统产品rom定制化开发中,在Launcher3中的定制化的一些功能中,对于一些产品要求需要实现动态时钟图标功能,这就需要先绘制时分秒时针表盘,然后 每秒刷新一次时钟图标,时钟需要做到实时更新,做到动态时钟的效果,接下来就来分析这个功能的实现 如图: 2.动…

Gartner发布2024年网络安全预测一:人工智能与网络安全将颠覆转化为机遇

Gartner 预测人工智能将以积极的方式持久地破坏网络安全,但也会造成许多短期的幻灭。安全和风险管理领导者需要接受 2023 年只是生成式 AI 的开始,并为其演变做好准备。 主要发现 生成式人工智能 (GenAI) 是一系列公认的颠覆性技术中的最新技术&#xff…

nodejs+vue+微信小程序+python+PHP全国天气可视化分析系统-计算机毕业设计推荐

3.2.1前台用户功能 前台用户可分为未注册用户需求和以注册用户需求。 未注册用户的功能如下: 注册账号:用户填写个人信息,并验证手机号码。 浏览天气资讯:用户可以浏览天气资讯信息详情。 已注册用户的功能如下: 登录&…

安装统信UOS服务器操作系统1060

原文链接:安装统信UOS服务器操作系统1060 hello,大家好啊!今天我要给大家介绍的是如何安装统信UOS服务器操作系统1060。统信UOS是一款基于Linux内核,专为中国市场定制开发的操作系统。它不仅提供了良好的用户体验,还在…

MySQL事务与MVCC详解

前置概念之事务 在开始MVCC的讨论之前,我们必须了解一些关于事务的概念。 什么是事务 现在我们开发的一个功能需要进行操作多张表,假如我们遇到以下几种情况: 某个逻辑报错数据库连接中断某台服务器突然宕机… 这时候我们数据库执行的操作可能才到一…

黑马点评04集群下的并发安全

实战篇-08.优惠券秒杀-集群下的线程并发安全问题_哔哩哔哩_bilibili 为了应对高并发,需要把项目部署到多个机器构成集群,所以需要配置nginx。 1.如何模拟集群 通过idea的ctrl d修改配置,实现多个tomcat运行模拟集群 然后在nginx上配置节点&…

菜鸟学习日记(python)——函数

函数是组织好的,用来实现某些功能的代码块,它可以重复使用。 函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但我们也可以自己创建函数,这被叫做用户自定义函数。 定义函数 用…

可视化数据监控大屏网页界面,数据大屏模版PS资料(免费UI源文件)

数据大屏模板在大数据领域被广泛应用,其优势在于能够将复杂的数据通过图形、图表等方式呈现出来,使数据更易于理解。数据大屏模板可以用来进行数据分析。通过对数据的比较、趋势分析、异常检测等,可以发现数据中的规律和问题,为决…

[蓝桥杯刷题]合并区间、最长不连续子序列、最长不重复数组长度

前言 ⭐Hello!这里是欧_aita的博客。 ⭐今日语录: 成功的关键在于对目标的持久追求。 ⭐个人主页:欧_aita ψ(._. )>⭐个人专栏: 数据结构与算法 数据库 文章目录 前言合并区间问题📕现实应用大致思路代码实现代码讲解 最长不连续子序列&a…

《Kotlin核心编程》笔记:面向对象

kotlin 中的类 // Kotlin中的一个类 class Bird {val weight: Double 500.0val color: String "blue"val age: Int 1fun fly() { } // 全局可见 }把上述代码反编译成Java的版本,然后分析它们具体的差异: public final class Bird {privat…

一种用于心音分类的轻量级1D-CNN+DWT网络

这是由National Institute of Technology Rourkela, Central University of Rajasthan发布在2022 ICETCI的论文,利用离散小波变换(DWT)得到的多分辨率域特征对1D-CNN模型进行心音分类训练。 预处理& DWT 由于FHS和各种病理声的频率范围在500hz以下[5]&#xff…