• Apache2.4+Tomcat9.0配置反向代理


    所需工具,能看懂标题的人就知道要什么工具(Apache2.4+Tomcat)

    运行Tomcat需要jdk,学java的小伙伴都知道吧。

    昨天学的知识。现在总结一下并把配置过程发出来。当个记录以后自己忘了可以看。

    在学校大佬讲的太乱了,一直在debug。好多人都睡着了,大佬牛逼是牛逼,但是对于我们这些新手他一直在debug我们实在看不懂。

    最后大佬弄出来了,给我们总结了一下。他讲的过程我也没怎么听。跟不上节奏,记不住。。。

    隔天早上就开始上网找资料去配置,发现找的资料没一个能配置成功的,乱七八糟。有些配置后apache都运行不了了。(写文章的人能不能负点责,自己测试过没问题后再发出来)

    okok,进入主题。

    先来了解一下什么是反向代理?

    当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务

     所谓的反向代理就是你访问的目标不是直接访问的,中间是有一个代理给你转发的。

    那么它的作用是什么?

    比如我们现在要访问的站点端口是8080并不是默认的80,而又不想手动在后面输入自己特定的端口8080。此时就可以用apache的反向代理映射到8080端口

    而此时我们访问的127.0.0.1 其实就是127.0.0.1:8080

    这是一张简单的流程图。看图就很容理解了(虽然画的很丑)。

    现在就开始配置。

    --------------------------------------------------------------------------------------

    首先tomcat发布一个项目,但我们知道tomcat发布后访问的地址是localhost:8080或127.0.0.1:8080

    为了逼格高点。我们修改一下本机的host和tomcat的server.xml配置文件。

     host路径:C:WindowsSystem32driversetc

    server.xml路径:Z:apache-tomcat-9.0.0.M20conf

    如果是最高权限管理员还是没法修改就把host文件复制到桌面,修改完后再覆盖掉原来的host就可以了。

    hsot添加:

    127.0.0.1 baidu.com

    不解释那么多了。注意访问的时候不要加www

    然后再修改server.xml文件添加一个元素就可以了

    server.xm添加:

    <Host name="baidu.com" autoDeploy="true" unpackWARs="true" appBase="e:\baidu.com"> </Host>

    在你的E盘创建有baidu.com文件夹把项目放里面,启动tomcat就可以用baidu.com访问了。

    --------------------------------------------------------------------------------------

    这里才是配置apache的

    其实用apache做反向代理的话只要稍微修改一下就好了,并不用像网上的一样设置一大堆乱七八糟的。

     在网上看的配置都出错,我就直接去apache官网看了一下。找到一段代码复制过去就配置成功了。

    <VirtualHost baidu.com:80>
    ServerAdmin webmaster@host.example.com
    DocumentRoot "e:\baidu.com"
    ServerName baidu.com
    ErrorLog "logs/baidu.com"
    TransferLog "logs/baidu.com"
    ProxyPreserveHost On
    ProxyPass / http://baidu.com:8080/
    ProxyPassReverse / http://baidu.com:8080/
    </VirtualHost>

    这是我用baidu.com这个例子改的,如果你的本地域名不是baidu.com换成你自己本地域名就好了

    那么这段代码要添加到哪里呢,放到httpd-vhosts.conf

    httpd-vhosts.conf路径:Z:Apache24confextra

    添加到末尾就行了。

    配置到这里就差修改一个配置文件了:httpd.conf

    httpd.conf路径:Z:Apache24conf

    找到这三句代码,把注释去掉就ok了

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    Include conf/extra/httpd-vhosts.conf

    --------------------------------------------------------------------------------------

    此时运行你的apache用baidu.com访问是不是项目出来了,也不用在后面输入8080端口了。

    按步骤来肯定是可以成功的。

    这里提醒一下,直接访问baidu.com后面不加任何项目名的话在baidu.com目录下新建一个ROOT文件夹放一个名为index的页面进去就会自动找这个页面显示

    最后看一下成功的效果是什么样的

    想了解更多的话去官方文档看吧。

    2.4官网链接:鼠标点一下带你飞过去

    路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    Thymeleaf 用法
    如何使用FormData上传压缩裁剪后的图片Blob对象
    video播放视频以及相关事件
    将表单序列化为json对象
    滑动到底部自动加载下一页内容,手机H5页面
    获取URL参数
    关于循环往集合添加元素,而导致的元素覆盖问题
    SpringMVC传递数组参数
    SQL查询语句
    jQuery DOM节点操作
  • 原文地址:https://www.cnblogs.com/-brl/p/7463875.html
Copyright © 2020-2023  润新知