运行库存Glassfish或Payara Server,部署了一个名为" ejb-timer-service-app"其中包括http://localhost:8080/ejb-timer-service-app/timer
的网络前端此处提供更多信息:https://docs.oracle.com/cd/E18930_01/html/821-2418/beahw.html
可悲的是,前端无法通过受保护的管理控制台(端口4848)访问,而是通过主主机(端口8080和8181)访问。所以每个知道我的服务器URL的人都可以访问这个页面。
有没有办法让应用程序停用(不是ejb-timer-service本身),或者至少让前端页面不再可访问(隐藏它)而没有一些花哨的防火墙或负载均衡器配置?
答案 0 :(得分:1)
显然目前无法启用开箱即用的应用程序。我在github上请求了payara的新功能:https://github.com/payara/Payara/issues/1803
因为应用程序服务器需要ejb-timer-service-app.war来提供EJB计时器服务,所以无法删除它。
但是我已经创建了一个解决方法来至少禁用前端部分:
我在本地做了一些关于如何在没有前端的情况下删除前端的快速测试 损坏EJB计时器服务。这是我在里面改变的
${PAYARA_HOME}/glassfish/lib/install/applications/ejb-timer-service-app.war
:删除档案
WEB-INF\sun-web.xml
删除文件WEB-INF\web.xml
删除文件夹WEB-INF\classes\com
Shell命令:
zip -d ejb-timer-service-app.war "WEB-INF/sun-web.xml" zip -d ejb-timer-service-app.war "WEB-INF/web.xml" zip -d ejb-timer-service-app.war "WEB-INF/classes/com/*"
如果在您还必须删除文件夹之前已启动域
glassfish\domains\domain1\applications\ejb-timer-service-app
清理已部署的前端。域重启后的servlet http://localhost:8080/ejb-timer-service-app/timer已不复存在 尽管如此(HTTP 404)EJB计时器正常工作