• Tomcat域名访问文件出现访问不到的问题


    例子:

    创建虚拟主机:

    配置两个虚拟主机,这两个虚拟主机

    一个域名(name)为a1.com,存放web应用程序的文件名为webapps1

    另一个域名(name)为a2.com,存放web应用程序的文件名为webapps2

    创建html文件

    webapps的a文件夹下的html文件代码

    webapps1的a文件夹下的html文件代码

    webapps2的a文件夹下的html文件代码

    通过域名访问html文件遇到问题?

    此时如果通过域名访问各个存放web应用程序的文件下的a文件夹下的html文件,那么应该会有不同的html文件打开

    1、访问本机下的a文件夹的html文件

     2、访问域名a1.com的a文件夹的html文件

     

     3、访问域名a2.com的a文件夹的html文件

    问题如何解决?

    首先解决问题我们需要知道问题的出处在哪,这里默认存放web程序的文件夹webapps的访问是没有问题的,那么为什么使用域名访问就会出问题呢?

    就是当浏览器通过域名去访问文件时
    1、先访问hosts文件,如果这个域名通过hosts文件发现我们的域名有映射IP那么就直接向这个IP的8888端口发送数据包(假设我给的是8888端口),
    2、然后Connector在监听的8888端口发送来了请求再将这个请求发送给Engine
    3、Engine再在Host虚拟主机中寻找是否有这个虚拟主机的name(域名)
    4、如果找到了通过这个虚拟主机的默认appBase寻找我要访问的文件
    5、如果没有找到,那么就把这个请求给localHost,让localHost处理这个请求
    但是如果在第一步的时候,就没有发现这个域名有映射的IP,那浏览器就不知道向哪个IP的主机发送请求,也不会在本机发送请求,所以就不可能访问成功

    所以我们需要配置hosts文件,可能有人还不知道hosts文件是什么?

    hosts文件是C:\Windows\System32\drivers\etc文件夹下的文件,通过编译器打开hosts文件过后我们就可以对域名和IP进行映射了

    当我们把这个映射写好之后就可以通过域名访问文件了

    访问域名a1.com的a文件夹的html文件

     访问域名a2.com的a文件夹的html文件

     

  • 相关阅读:
    【总结】攻击 AI 模型的方法
    HTB-Explore
    sqlserver刷新全部视图
    【分享】抖音在 “集简云平台“ 集成应用的常见问题与解决方案
    基于FFmpeg+SDL的视频播放器的制作
    分享5款超实用的软件,小巧无广告
    机房动环监控系统有哪些告警功能,机房动环监控系统是什么?
    数字化革新:可视化墨水屏引领基板工艺MSAP贴膜阶段迈向无纸化高端制造应用背景
    并发编程JMM&Volatile底层原理剖析
    简易的shell实现
  • 原文地址:https://blog.csdn.net/cccccccmmm/article/details/126679132