事情是这样的,本文以故事为主,然后是丰富的心理变化,然后是一段广告(别打我),最后是一点技术心得.本文属原创,未经许可不得转载,转载不能删掉我的广告!
作为一个开发者,怎么能没有自己的网站呢,于是乎去某云租了2年的服务器,为了测试,把我刚学javaee时候做的小网站扔上去了,此处省略了3000多字,需要的朋友多的话我会把怎么购买域名,怎么解析,怎么购买空间或是主机,怎么发布自己的程序,怎么把程序上传到服务器,怎么配置服务器和程序路径,怎么去掉8080,怎么去掉项目名称,感觉网上已经很多了,就不赘述了.
最近水平有所提高,准备新写一个网站,写了2,3天,同时也每天把更新的内容发布出去想要服务大众的时候,问题来了
有一次,我想看看自己的网站能不能在baidu搜到,我无意间看到了这个
域名肯定不是我的域名,我注册的是"www.asens.cn",(至于这个缩略图和文字是我原来找的模板,页面只有那么几个按钮有功能,原来的模板的大部分文字都没来得及换)
但是就是这个网站www.dufleur.com和我的网站一模一样,可气的是baidu排名还比我高,我开始有点懵了,这货怎么做到的,她(没错)是不是把我的网站扒了下来,然后整到自己的网站上去了,但是后台功能竟然也能用,难道class也被人拿走了?
有问题找baidu,我发现了也有人遇到了这个问题,就是恶意指向,当时我要直接搜恶意指向也许就会简单许多了,我去百度翻了翻,又去某云的帮助文档里找了找,有点不得要领,我决定电话求助,咳咳,我拨通了某云的服务热线,我本以为是一个抠脚大汉工程师的时候,接电话的却是一个客服mm,客服mm用着嗲嗲的南方话说了好多,但我没听太懂,最后在我的一再追问下,我找到了问题的核心:空主机头.
什么是空主机头,这货是这么说的:
我信了,我发现我解析的域名确实还有asens.cn,这个解析,这个解析指向了我以前租的空间,我删了,然并卵..
就在这时,我脑海里再次想起了mm的声音,主机头不是在域名解析那设置的,而是在服务器里面设置的,于是我又开始搜索tomcat如何设置主机头
现在的我已经很接近正确答案了,但还是差那么一点
<Engine name="Catalina" defaultHost="localhost"> <Host name="www.asens.cn" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="xxxx" debug="0" reloadable="true"/> </Host>
</Engine>
docBase可以是你项目的绝对路径,设置完了之后,这样总行了吧,从www.asens.cn进来的访问我的xxxx项目路径,别的域名进来爱干什么干什么去,然并卵..
现在的我已经有点崩溃了,我开始寻找最恶毒的语言来咒骂她,我开始人肉她,此处再次省略3000多字,(别问我为什么)抱着宁为玉碎不为瓦全的心态,我关闭了我的网站,shutdown了我的tomcat,睡觉.
但怎么能睡得着,我想了又想,终于想明白了,tomcat原来对于我就是个黑盒,但tomcat也只是一段程序而已,我有心也能写一个(..),它本质也就是读取一段server的xml,然后根据配置再对访问进来域名进行转发,我设定"www.asens.cn"访问我的项目路径,既然她把域名指向了我的服务器,我也可以根据她的域名给她设定一个项目路径,于是乎
<Engine name="Catalina" defaultHost="localhost"> <Host name="www.dufleur.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="yyyy" debug="0" reloadable="true"/> </Host> </Engine>
我随意设定了一个路径,只写了一个index.html,然后就变成了这样
我本想狠狠的骂她,为什么骂她,大家百度一下空主机头的危害就知道了,而且,因为她是贼.但这并我是我的风格,这种淡淡的嘲讽才是我的性格,这一晚上,我是笑着睡着的
结束了吗,并没有,第二天我再次百度的时候,我又发现了 dufleur.com这个,虽然带www的被我支走了,但她整一堆乱七八糟的2级域名绑进来我总不能挨着个的设置啊,我仿佛看着她在张牙舞爪的笑.
我于是乎又求助百度,有了针对性就好办多了,我终于找到了终极方法
<Engine name="Catalina" defaultHost="192.168.11.11"> <Host name="www.asens.cn" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="xxxx" debug="0" reloadable="true"/> </Host> <Host name="192.168.11.11" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="yyyy" debug="0" reloadable="true"/> </Host> </Engine>
我改变了默认的host,以后只有从"www.asens.cn"访问进来会进入我的项目路径,其他的会进入其他的项目路径,现在访问dufleur.com和www.dufleur.com都会被支到其他页面
而且,如果我以后想绑定新的域名,也只需要添加一个host,并指定其相应的name和docbase,这也就是多个域名绑定一个服务器且访问不同项目的方法,这也就是这次的攻防之战的额外收获.
最后打一波广告:我的个人网站www.asens.cn上线了,虽然到现在只开发了2天半,还有半天再设计logo,但2个上线的功能已经可以用了!
FastModel:还在为生成POJO慢而苦恼吗,只需要输入你的类型和变量名如"String,name;"变量名支持中文,如"String,名字;"
系统就会自动翻译英文并生成驼峰式的变量名,同时生成get,set方法,并有全浏览器支持的复制按钮,一键复制
粘贴到项目可用!
FastTranslate:目前只支持翻译..,考虑加入更多功能.
FastPlan:正在做,还没有上线,帮助你快速制定计划并告知你完成的进度,敬请期待