• 15
  • 14
分享
  • Tomcat8080、80、8443、443端口及对应http、htt
  • 饭团🍙 2021-02-01 10:25:33 字数 1582 阅读 2830 收藏 14

       近期由于项目需要,将购买的阿里云服务器Windows版换成了linux的CentOS版本,tomcat需要重新配置https协议,再次被server.xml里边的这几个connector搞得欲死欲仙,索性这次多深入写了解下它们的区别,也方便下以后跟我踩一样的坑的同学们。

       我们要弄清楚的,是以下四个概念:

一、

       在tomcat的配置文件中有以下几个常见端口:

  • 8080和80都是HTTP端口,8443和443为HTTPS端口

  • 8005为远程停服务端口

  • 8009为AJP端口,APACHE能通过AJP协议访问TOMCAT的8009端口。

二、

  • 当网址为http://时,默认端口为80

  • 当网址为https://时,默认端口为443

       以上两种都可以省略端口号,可以直接写成http://zzuxh.top/或https://zzuxh.top/,后边跟上我们项目的接口URI。

       如果是http的8080端口,或者是https的8443端口,则不能省略,要在域名之后加上端口,如 http://zzuxh.top:8080/ 、 https://zzuxh.top:8443/

       但默认情况下我们的server.xml里边只有一个http请求对应的8080端口connector是开启的,剩下的http和https端口:80,443,8443,前两个没有,最后一个被注释了,都需要手动配置启用。

三、

       这四个http/https端口, 除了8080之外,都是tomcat固定的,不能改动。也就是说8080是可变的,我们可以把端口号是8080的那个connector,里的port改成别的端口,如8808,9123啥的。

四、

       connector是可以多个同时存在的,意思就是我们可以同时把这四个端口的connector都配置了,这样的话,以下四个接口:

  • http://zzuxh.top/Sell/user/login

  • https://zzuxh.top/Sell/user/login

  • http://zzuxh.top:8080/Sell/user/login

  • https://zzuxh.top:8443/Sell/user/login

       是同时有效的!只不过坏处是tomcat一启动会同时占据好多个端口。

有人可能会问:在一个connector里:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

       这个redirectPort属性又是什么意思呢?它为什么要重定向到8443端口呢?

       首先我们要知道,请求的发送方,也就是客户端,可以指定请求的协议是http,还是https。 

       既然如此,我们的后台服务器自然也可以指定自己接收哪种协议的请求,比如在springMVC和springboot框架里,我们可以通过设置RequestMapping的属性来确定接收http协议的请求还是https协议的请求,如果我们在一个controller里定义的一个方法,只处理https请求,而不处理http请求,我们就可以设置redirectPort="8443",来将请求转发到8443端口,这个转发是tomcat自己进行的,当http请求找不到对应的处理方法时,如果设置了这个属性,tomcat就会把它转成https请求再试一次。


作者:请保持优秀。

原文链接:https://blog.csdn.net/IT_TIfarmer/article/details/90113730

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言:很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,希望对刚入行或者准备学习测试的朋友提供一点指引。在软件测试这个行业,一路走来我看到了太多想提升测试技术而没有明确方向的人,深刻的体会到测试人员的技术痛点,以及测试这个角色在互联网公司的待遇和地位远不及其他岗位,甚至还是会有很多人会认为测试在公司随时能被取代,可有可无。那么在软件测试行业如果只会手工测试的我不做测试了,我还能做什么?唯一办法就是保持持续的学习,希望大家莫做“收藏家”,我见过很多人收藏从未停止,学习从未开始,大多数人的原因是“工作忙,没有时间”,我和大家的时间一样是...
            12 11 3879
            分享
          •   小编之前在某平台上看到一个帖子,从发帖内容可以看出,题主是一位拥有五年功能测试经验的IT从业者,他也深知功能测试现在的处境艰难,想改变,却又因为年龄和经济压力的原因迟迟不敢迈出第一步,其实这是很多年近30岁的人事业危机的缩影,作为培训机构的创始人,见证了太多中年学生的困境,我负责任地告诉你,如果你现在不寻求改变,那么当前的忧虑将会让以后的生活陷入更深的沼泽,改变已经刻不容缓、迫在眉睫,无需犹豫。  给处在相同境遇的功能测试中年人指两条路:  · 继续深耕软件测试技术,不断提高技术水平,所谓缺啥补啥  · 转行换道,在新的领域重新出发  我们先来看看第一条路,核心就是提升技术。既然功能测试处...
            0 0 905
            分享
          • 初学阶段对数据库、mysql等知识的较浅程度的理解近段时间了解了数据库等知识的概念以及MySQL的初步学习,以下就是我在学习过程中的一些收获,跟大家分享一下。数据库(DateBase,简称DS)数据是数据库中存储的基本对象。数据的种类有很多种,文本(Text)、图形(graph)、图像(lmage)、音频(Audio)、视频(Video)、各种档案记录等等。这都是属于数据的部分。数据库,概念:数据库顾名思义就是存放数据的仓库。数据库的存放空间很大,可以存放上亿条数据,但是数据库不是随意的将数据储存进仓库的,它是有一定规则的,因为这样保证了查询数据时的效率,否则查询效率会非常低。数据表(Date...
            13 13 2456
            分享
          •   没有绝对的天才,只有持续不断的付出。对于我们每一个平凡人来说,改变命运只能依靠努力+幸运,但如果你不够幸运,那就只能拉高努力的占比。  2023年7月,我有幸成为了百度的一名测试工程师,从外包辞职了历经10000小时后,拿下了offer。相信同行都清楚,从外包进大厂有多难,运气之余,也离不开我自己的脚踏实地,所幸每踏出的一步都留下了厚厚的脚印。  下面是我面试百度软件测试工程师的面试经验总结,希望能帮助到你们!!  面试一  1、简单做一下自我介绍  2、简要介绍一下项目/你负责的模块/选一个模块说一下你设计的用例  3、软件生存周期及其模型是什么?  4、什么是软件质量?  5、说一下X...
            0 0 1185
            分享
          • 一、前言在字节码编程方面有三个比较常见的框架;ASM、byte-buddy、Javassist,他们都可以对这字节码进行操作,只是操作方式和控制粒度不同。其中 ASM 更偏向于底层,需要了解 JVM 虚拟机中指定规范以及对局部变量以及操作数栈的知识。虽然在编写起来比较麻烦,但是它也是性能最好功能最强的字节码操作框架。常见的会用在 CGLIB 动态代理类中,以及一些非入侵的探针监控场景中。另外两个框架都是有强大的 API,操作使用上更加容易控制。虽然对对比上会比 ASM 性能差一些,但不是说性能完全不好。同样在一些监控场景中也用的非常多。如果你细心可以在你的工程 jar 包搜索一下。在这之前我已...
            14 15 1860
            分享
      • 51testing软件测试圈微信