最近自己做了一个简单的摸鱼热搜整合项目访问地址为:127.0.0.1:8080/mmyu,同时申请了一个域名为:mmyu.top 期望可以通过域名直接访问项目。
但也是这个时候发现了一些问题,大致问题如下:
1、隐藏端口,不想访问时域名后还需要加端口。
2、隐藏项目,由于是放在tomcat服务器上,访问需要再端口后加上webapps下对应文件夹名称,把该名称隐藏
3、屏蔽通过ip访问,只允许使用域名访问。
4、报错误信息,如404隐藏tomcat版本信息等
隐藏端口
本来访问的地址是 www.mmyu.top:8080/mmyu ,期望的访问效果是:www.mmyu.top/mmyu
这样可以直接把tomcat使用的8080端口改为80端口就可以直接隐藏端口号了,但是这样就不太安全,所以一般会在tomcat上层再添加一个转发的服务。
修改tomcat端口
进入到tomcat的 conf 文件夹下,修改server.xml 文件:
vim server.xml修改 Connector port="80" 端口为80就像下面这样
隐藏项目名
隐藏端口后访问地址为:www.mmyu.top/mmyu 但是后面还是有项目名,想把项目名也给隐藏掉最终的访问地址应该为:www.mmyu.top 这一步还是修改 conf 下的 server.xml 文件,在host下面添加一下配置信息
<Context docBase="项目的绝对路径,一直到tomcat的webapps文件夹下对应项目" path="/" />
配置好这个之后就成功的隐藏了项目名称,可以直接通过域名访问了
屏蔽通过ip访问
有了域名访问,但是还是可以通过ip访问项目,但是我只希望通过域名访问,不能通过ip访问
在 server.xml 文件中Host之后再添加一个Host,代码如下:
<Host name="服务器公网ip地址" appBase="webapps文件夹下项目文件夹名称" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"/>
报错时隐藏tomcat版本
添加了屏蔽ip方式访问之后再通过ip访问项目会报404的错误,但是错误最下面会显示tomcat相关信息,比如版本号。
隐藏tomcat相关版本号
这个就不是修改conf下的配置文件了,这里需要切换目录到tomcat的lib目录下,执行命令:unzip catalina.jar 。
这里就会解压出几个文件夹,修改 vim org/apache/catalina/util/ServerInfo.properties文件,删除里面的版本信息。
删除完之后再把修改后的信息压缩回jar包,jar uvf catalina.jar org/apache/catalina/util/ServerInfo.properties
重启之后再通过ip访问就可以成功隐藏掉对应的版本信息了。
注意
以上每次修改配置文件都是需要重启tomcat服务!!!