Resin禁止公网IP直接访问网站

最初状态:


登录服务器:先备份配置文件
cd /home/weaver/Resin/conf
cp -a resin.conf resin.conf.20240830
##如果不知道配置文件是那个,可以通过以下方法查找。


###*****#
编辑配置文件
vim resin.conf




保存配置。

根据前面网站访问的地址,发现是 通过访问的 / (根) 下面的login/Login.jsp
所以,还需要在,新添加的 host标签中,web-app 指定的目录,下面,创建login 目录和Login.jsp 文件

mkdir -p /home/weaver/ipapps/login
vim /home/weaver/ipapps/login/Login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<% response.setStatus(403); %>

<html>
<head>
  <title>403 Forbidden</title>
</head>
<body>
  <h1>403 Forbidden</h1>
   <p>Access to the requested resource is forbidden.</p>
</body>
</html>

##保存
重启Resion,先停止,再启动。
/home/weaver/Resin/bin/stopresin.sh && sleep 5



停止后,过滤一下端口,6600,如果还有,再次执行停止命令,直到过滤6600为空,这才是真正停止了Resin

########*****#####
Resin启动服务之后,一般会存在这几个端口:
1、 WatchDog(监听狗)端口, 默认:6600
2、Server监听端口,默认:6800
3、应用的Http端口(可自定义),默认:8080

说明:单个Resin不管同时配置几个应用,每次启动Resin之后,只会启动一个WatchDog监听,kill掉WatchDog后,所有的实例都会停止,WatchDog运行中,kill掉某个实例后,该实例会自动重启。

###*****########
/home/weaver/Resin/bin/startresin.sh && sleep 5


验证:


当用户访问网站的时候,首先浏览器会发送HTTP请求解析出来的服务器IP,Resin接到请求后,从HTTP请求头中取出Host,根据Host值再将请求转发给相应的虚拟主机(就是一个目录)。





内网访问不受影响:



#***********##########
Resin则是一个开源的Web服务器和Servlet容器,它提供了一个运行Java Servlet和JavaServer Pages(JSP)的环境。Resin与泛微的E-Message和E-Mobile没有直接的联系,它可能被用于支持泛微办公系统的某些部分,但它们之间的关系并不是直接的或核心的。

简单的Resin配置示例


<cluster> 定义了一个服务器集群。就是一个端口应用
<server-default> 设置了所有服务器的默认配置,例如JVM参数。
<http> Http服务的端口

<host> 定义了一个虚拟主机,并指定了域名和路径。
<web-app> 定义了一个Web应用,并指定了它的根目录。