如何关闭80端口

麻烦问下:如何实现只保留443端口的监听,不开启80端口的监听?@jfinal

评论区

杜福忠

2020-09-17 17:37

undertow.http.disable=false
https://jfinal.com/doc/1-4
10、配置关闭 http

moyush

2020-09-19 08:26

@杜福忠 这个配置我已经试过了,还是会有80端口监听,并被扫描到端口

石头809155072

2020-09-19 10:18

检查下监听80端口的程序 。

杜福忠

2020-09-19 11:25

@moyush 改成 undertow.port=10080

JFinal

2020-09-20 17:12

这是一个好问题,我当时在开发 jfinal undertow 的时候的确尝试做过这个功能,当时好像是关闭 Undertow 的 Http(80 端口) 以后, 443 端口的功能也没有了,所以当时就没做成这个功能

但我现在还隐约记得当时保留 http (80 端口或别的 http 端口) 与 443 一并启动是因为别的原因

所以,很可能也是可以只保留 443 的,具体做法是继承一下 UndertowServer,去除里头初始化 http handler 的那段代码即可

记得搞定后回来分享

JFinal

2020-09-20 17:13

我现在想到,让下面的配置同时也支持不开启 http (80 端口):
undertow.http.disable=false

JFinal

2020-09-20 17:49

刚刚我在本地测试了一下,去掉 UndertowServer.java 中的第 301 行的代码即可实现这个功能:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/UndertowServer.java

也即删除下面这行代码:
.addHttpListener(config.getPort(), config.getHost())

如果这个改进没有副作用的话,下一版本将引入这个功能,将 undertow.http.disable=false 这个配置的行为改成直接关闭 http(80 端口),而不仅仅是屏蔽 url 请求

moyush

2020-09-22 11:35

@JFinal 我这两天在配合甲方做安全整改,目前要求不能监听80端口,只能用SSL的443端口,后续这种安全的要求会比较普及,我这次时间比较紧,没有改代码,用防火墙限制了一下,暂时应付甲方测试。后续如果能加上这种功能,应用范围会更广一些,多谢!

JFinal

2020-09-22 11:42

@moyush 这个功能已经添加上了,你可以直接用上:
https://gitee.com/jfinal/jfinal-undertow/commit/5950fb2f5ef6c9aecbc2e45e0a4542ac6b5b9acb

具体用法如下:
https://jfinal.com/share/2093

注意将上述文章中的 jfinal 换成 jfinal-undertow,道理都是一样的

热门反馈

扫码入社