WEB安全:Tomcat 只可通过域名访问,禁止通过 IP 访问
服务器为什么要禁止通过IP直接访问?
1、若公布于外网的服务器IP地址未备案,就有可能被工信部查封。这样备案的域名也会无法访问。
2、如果AppScan通过ip访问扫描,会有“发现内部ip泄露模式”的低级别的警告安全风险
- 可能会收集有关Web 应用程序的敏感信息,如用户名、密码、机器名/或敏感文件位置
Tomcat服务为例,可通过简单的配置屏蔽IP地址直接访问:
IP地址是 120.77.145.25,相应域名是 www.unicom-iot.net
1、找到 conf/server.xml 的 Engine 节点
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/iot/file" docBase="/UIOT_FILE/" reloadable="true" />
</Host>
</Engine>
修改为:
<Engine name="Catalina" defaultHost="www.unicom-iot.net">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm> <Host name="www.unicom-iot.net" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="/iot/file" docBase="/UIOT_FILE/" reloadable="true" />
</Host> <Host name="120.77.145.25" appBase="ipapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"/> </Engine>
2、此时可以在webapps同级目录创建 ipapps 目录,再在 ipapps下创建一个 ROOT 目录下拷贝,
同时在里面的 放个 index.html 文件修改成想要展示给用于的界面。
3、重启 Tomcat 即可。
POINTS:
1. Engine 节点配置的 defaultHost 表明缺省访问的Host。defaultHost 对应的名称必须存在于 Engine 节点下配置的 host 节点中。
当一台机器有多个 IP,而按照规定只允许通过一个指定的域名访问时很有用。此时,把 defaultHost 指定为非域名对应的 host,
这样不通过域名访问时就都定位到指定的非域名 HOST 。
2. Host 节点 name 对应IP地址,以及域名。一个Host只有指定一个IP或域名。
3. Host 节点的 appBase ,对应的是存放web应用的目录。这里输入的目录相对于 %TOMCAT_HOME% ,
如上面的 www.myTest.com 对应的目录是 %TOMCAT_HOME%/webapps,而 120.77.145.25 对应的目录是 %TOMCAT_HOME%/ipapps。
4.修改 localhost 为 www.unicom-iot.net 后,在 %TOMCAT_HOME%/conf/Catalina/localhost 下配置的虚拟目录会失效。
因为配置虚拟目录的元素节点 Context 是 server.xml 下 Host 节点下的子节点,Catalina 下的文件夹名字是根据 host 节点的 name 属性来的。
现在 Host 的 name 已经改 www.unicom-iot.net 那么需要在 %TOMCAT_HOME%/conf/Catalina 新建一个 www.unicom-iot.net 的文件夹,
然后把 localhost 下的 myTest.xml 文件拷贝到 www.unicom-iot.net 文件夹下才能是虚拟目录继续有效。
WEB安全:Tomcat 只可通过域名访问,禁止通过 IP 访问的更多相关文章
- nginx下只能通过域名,禁止使用ip访问
今天来了一个需求,ip访问返回500,域名访问正常,只需在nginx.conf中添加 server { listen 80 default; #default 必须加的 return 500; } 也 ...
- nginx 只容许域名访问禁止掉 ip 访问
在原有 nginx server 的基础上再加上相同端口的配置 server { listen 80 default_server; server_name ...
- apache禁止使用IP访问的实现方法
apache禁止访问目录列表 apache禁止访问目录列表对于开发人员来说还是蛮实用的,可以迅速查找根目录下的所有项目,但如果一个挂在互联网上的服务器为了提高安全性就必须禁止访问目录列表. 找到Apa ...
- 【转载】 腾讯云通过设置安全组禁止某些IP访问你的服务器
有时候我们在运维网站的过程中会发现一些漏洞扫描者的IP信息,或者个人爬虫网站的IP信息,此时我们想禁止掉这些IP访问到你的服务器,可以通过腾讯云的安全组功能来设置禁止这些IP访问你的服务器,也可以通过 ...
- 【转载】 禁止国外IP访问你的网站
在网站的运维过程中,我们通过网站记录的IP列表记录有时候会发现很多国外的IP的访问,如美国的IP等,而很多的服务器攻击行为的发起点很有可能在国外,此时为了服务器安全的考虑,我们可以考虑禁止国外IP访问 ...
- php禁止个别ip访问网站
PHP禁止个别IP访问自己的网站,可以看看下面的方法. function get_ip_data(){ $ip=file_get_contents("http://ip.taobao.com ...
- 踢出某正在访问的用户||永久禁止某IP访问
转至:https://blog.csdn.net/weixin_34408717/article/details/85527305?utm_medium=distribute.pc_aggpage_s ...
- Linux 防火墙设置,禁止某个ip访问
service iptables status 查看防火墙状态 service iptables start 开启防火墙 service iptables ...
- 解决mysql中只能通过localhost访问不能通过ip访问的问题
解决mysql中只能通过localhost访问不能通过ip访问的问题 原因是没开权限 SELECT * FROM USER WHERE USER='root'; grant all privilege ...
- linux禁止特定ip访问某个端口
linux禁止特定ip访问某个端口 解决方法: 禁止特定ip访问8501端口的命令0:iptables -I INPUT -s 192.168.0.232 -ptcp --dport 8501 - ...
随机推荐
- linux就该这么学,第六天了
今天学了第六天了,主要讲计划任务了,,at,命令,单次有效,一次性的,crontd服务(周期性)计划任务,crontab -e创建,编辑计划任务.crontab -l查看计划任务,crontaab - ...
- solr7.7.0搜索引擎使用(三)(添加文件索引)
众所周知,solr与es的最大区别是,solr可以对pdf,txt,doc等文件生成索引 那我们如何添加文件索引呢? 步骤1.添加core,取名暂且为 coreFile 在bin下执行命令 ./sol ...
- [C#.net]未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
C#操作Execl文件常用的2种方式是NPOI和Microsoft.Jet.OleDb,前者需要引用dll,后者需要安装Office客户端 今天发现别人电脑使用Microsoft.Jet.OleDb能 ...
- SQL SERVER 小语法
1. 取字段长度:len select * from 表名 where len(expmessage)=1 2.rtrim, ltrim rtrim(ObjectName)
- html-day06
html-day06 1.定位 定位: 1.普通流定位 普通流,又称为文档流 块级元素:从上到下一个一个的排列 行内元素:一行内从左到右的排列 2.浮动定位 1.什么是浮动定位 将元素排除在普通流之外 ...
- Unable to instantiate Action, xxxAction, defined for 'xxxAction' in namespace '/'xxx
最近写SSH2的项目时,遇到一些小问题,action得不到service实例,遂将struct2委托给spring进行管理,然后修改了bean的id和action的class,但是运行后发现找不到ac ...
- codeforces 508B
B. New Year Permutation time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- Learning Rust - Syntax
Rust is another compiling language that may replace the position of C/C++ in server filed. It runs f ...
- 基于ALTERA SOPC设计的概述
下图是比较传统的系统设计开发板的设备图 由于元器件比较多,成本,复杂性和功耗都比较高,所以需要一种新的方案来降低成本和复杂性. ALTERAL 就提供了一种SOPC解决方案,将系统的I/O.CPU和 ...
- Centos 执行top命令详细解读
1.作用:top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式:top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数: d:指定更新的间隔,以 ...