1Panel icon indicating copy to clipboard operation
1Panel copied to clipboard

[FEATURE]大量想法

Open superen7527 opened this issue 10 months ago • 15 comments

1Panel 版本

到发布该issue为止的最新版(05)

请描述您的需求或者改进建议

我是18号下午五点开始体验的,当时好像是03版本,到现在版本可能有点出入修复,我已知的想反馈防盗链设置失败看到了日志已经修复就去掉了没放进来,其他的如果有已修复的 忽略或者说一下即可。

由于我是先测试体验没问题以后才会稳定更新版本,所以到手我是先以测试为主,多方面测试。

我知道专业版刚出来,急需大量的反馈和建议,于是自己抽了几天时间想整理一下,平常太忙了,除了两天是白天有空测试了一下午,其余都是熬夜测试的。有一些时候手机有时候不同电脑,打字输入法习惯符合也不太一样,我现在总结一起尽量全部特意方便查阅了。从4.18买激活码到一直测试到发issue这么多天的总结如下:

部分体验建议(无关紧要,可以不用花时间实现,只是琐碎想法)


  1. 网页经常无法通过链接进入对应功能页会重定向到主页,需要手动选择功能页。如 在证书界面刷新 会回到主页 而不是刷新当前证书页(测试证书申请的时候经常刷新看新状态)。
  2. 进入网页后cookie过期会先显示网站面板再跳转到登陆页 属于本地跳转 能不能在进网站之前就判断错误直接进登陆页?
  3. 支持专业版去除右下角的底部链接等无关面板的元素,有倒不是想去版权只是想干净点,更新可以放设置入口。比如关于里面 我个人是不太喜欢页脚的 做网站什么的都会去掉。
  4. 优化许可证被使用的提示。我是原价买了3个许可证,两台用的时候不小心用错了是同一个,却提示我网络问题,我检查好久后来发现是许可证重复了,但是这里不应该提示“被占用/无效/已使用/先解绑/被绑定”等提示吗?
  5. 把一些通过命令行才能设置的比如reset相关信息放设置里 方便ui管理比如去除安全界面,而不用想起来的时候去ssh,对于过于安全(比如卸载)这种可以放命令行执行(其实多几步提示和输入确认即可都放ui也没关系)
  6. 进入网站都是会先预览显示没安装openresty 然后才反应过来显示网站列表 不能做预加载或者检测动画吗
  7. 界面可以对一些跳转设置关联,比如点击已安装的应用里面的已安装可以跳转到已安装列表里面的对应应用详细页。
  8. 面板能不能加个白名单ip免登陆或者包含特定ua免登陆,我自己调试的时候一直重复登陆挺麻烦的。又不想浏览器记住密码。
  9. 对于没有显卡的云服务器 其实可以自动检测就不显示高级版gpu界面,虽然可以手动关。
  10. 对于有一些依赖希望点击可以自动安装(把跳转文档改成点击自动识别系统自动安装对应版本),而不是跳转文档,然后复制命令打开ssh。不过也没什么,我一般是会写判断系统的脚本,而且刚建面板一般会过一遍,ssh一般也还在后台,小问题,开发复杂就不用考虑这些建议了。
  11. 证书日志显示会串,比如申请1证书,出现面板,面板关闭看2的证书规则,会出现1的日志,但是实际日志文件没错。应该是bug
  12. 大部分都是右侧弹窗,其实希望改成居中,因为右侧后,左侧空白面积太大,而没有点击空白部分关闭面板的快捷操作,估计是为了保护误触丢失右侧信息面板,但是这样就没必要浪费一半空间了。

下面是主要建议(希望会考虑,关键类:证书 容器 waf


网站类
  1. 可以添加一些其他自定义功能入口 比如nginx额外的配置和全局配置 或者网站分组(分组管理共享配置也许也是个好功能)共用的全局配置等等。不用找对应配置文件和最上面全局配置加参数,因为有时候怕会不会覆盖重载(不过目前看来是部分匹配关键词替换 但是会对原文本格式化(会去除部分注释)),所以希望有一个自定义设置额外参数的地方,有时候也不用完全复刻宝塔功能,加一点自定义功能会更好。
  2. 支持在网站https里面就申请证书 详细看下面 证书类 3.3
  3. 反代的关键词替换限制5个,其实感觉没必要限制,我测试过是可以一直替换,没必要学宝塔限制3个。这里不得不说你们做的好的地方,宝塔是修改配置文件以后点编辑会用他自己重新生成的规则替换。而你们是关键词检测替换,不会破坏修改配置文件信息的用户额外配置,在第1点已提到,但是还是要说一下很不错。
  • 有一个bug: 访问 网站-上面openresty-设置 就会报错服务异常。 看f12 是api/v1/openresty/status 返回500,没有其余说明。默认界面是停在查看当前状态 会拿不到值(这里反馈也有问题应该是文件不存在等,后端待优化) 看了日志 显示如下 (```貌似没有`效果好 单行需要滑动)
  • 2024/04/23 00:08:43 [error] 40#40: *1378 open() "/usr/share/nginx/html/nginx_status" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET /nginx_status HTTP/1.1", host: "127.0.0.1" 127.0.0.1 - - [23/Apr/2024:00:08:43 +0800] "GET /nginx_status HTTP/1.1" 404 150 "-" "Go-http-client/1.1" "-"

文件类
  1. 文件编辑希望可以添加 根据(自动)语法选择 格式化 高亮 等功能。
  2. 支持临时分享文件直链接。

waf类
  1. waf里面编辑自定义403那些页面,会触发默认的xxs攻击,即使我把xss相关拦截全部关闭,还是会触发报错同时强制清空登陆cookie回到主页提示无权限。体验十分差!!!我每次测试把xss对应的项目关闭(还有的xss拦截关闭了还会被自动重新打开),测试修改自定义文件 然后就被强制遣返主页,重新登录还因为开头的1问题,刷新回主页只能重新找藏的很深还不太熟悉的自定义页面,然后查看xxs哪个功能被开启,重新关闭测试编辑文件,结果还是无权限。我还以为是没设置安全域名ip访问的原因特意重新设置安全域名同时用域名访问,结果还是不行,点下提交就跑到主页重新登陆一切重新来。真的很烦。最后只能通过白名单ip才能放行,但是一般家宽流量都是动态ip吧。这个当时测试了晚上宝贵的2个多小时,在无意义的强制清空cookie重新登陆中,我心态炸了。为此提出以下建议:
  • 被拦截的时候显示拦截id 可以点击定位到相关拦截规则点。细分规则来自全局还是局部 点击可以跳转到规则所属分组和拦截点,方便关闭或者处理白名单。

  • 优化1panel自身被拦截时对预期外响应的处理方式。

  • ps:最后是测试到第3点,关于全局和对应网站的waf规则时回过头来发现:好像是全局和对应设置共存的时候,会忽略全局,采用独立规则,重新测试发现放行正常了。但是我保留了上面的反馈建议。

  1. 最开始的专业版功能收费征集,我就曾经提过waf建议,希望可以对标雷池。毕竟现在专业版几乎也就是多了waf等功能,但是功能太简陋,雷池一些web体验太差,我需要waf的时候花了很多时间去使用体验雷池和反馈官方,都没有积极响应解决。所以当时我就期待1panel可以实现一些waf功能并且提建议,没想到确实上线了,于是我就一口气原价买了3个许可证。不然我个人是不太喜欢这种管理面板感觉权限和占用太大,一般都是小功能自己搓。体验后认为:本项目在web方面确实不错,不过waf希望可以改进:
  • 拦截黑白名单等 支持选择到省份等更精准的地方。可以接入ip解析的api或者geo数据库 和更多流量归属地分析和归类划分。
  • 新增雷池的专业版那些waf规则。可以参考一下他们的收费规则和他们的一些处理方式。我觉得本项目很多地方值得借鉴(看了评论区雷池也是社区里在没有waf的时候的代替品,也在官方应用里 但是web功能太差 没办法作为前置web应用)
  1. 网站全局规则和指定网站规则 我看过文档,没有优先级和区分说明。我自己推测然后验证了一下得出结论:发现全局应该是作为每个网站初始默认的规则模板,在新建网站会默认使用这个全局配置。但是全局规则里面还有一些独立网站没有的设置,比如攻击频率那些,可能是这些设置是默认独立走全局的吗?
  • 题外话(不知道是不是bug): 我把1panel反代到域名 刚才访问居然把我自己屏蔽了显示证书问题,以为证书失效还是怎么了就重启openresty正常后进重新面板看了一下,原来是我自己触发了频率限制把我自己拉黑了,我的限制是20s内访问100次才会被屏蔽,所以我奇怪怎么回事。就去看了下这个路径的文件,结果不存在。也就是我进网站访问了一个不存在可能是上一个版本的资源文件请求了100次以上然后触发我自己的频率限制? 感觉像bug 这个也提供不了日志 就发一下相关资源名: /assets/js/index-d6d07923.js 中国 福建 2024-04-22 23:50:06 访问频率限制 禁止

容器类

1panel专业版才有waf,在此之前其实是以容器管理为主的面板,普通版也可以用,也就是说1panel核心是容器化管理,对此论坛里也有过回复,在未来很大一段时间内都会以容器为主,在最后期才会考虑对宿主机直接安装应用的开发计划。所以容器类目应该更细致优化体验和功能才对。

  1. 没办法更加细致修改容器,比如openretry 默认是host模式,通过compose文件修改成bridge 还是需要强制选择80 443端口,不能更自由映射。而且bridge以后 还要检测端口是否被占用,应该是你们特别对该应用优化,但是逻辑没考虑全,期望改进。
  2. 没办法重建容器,大部分通过compose手动创建的容器和安装的应用,想重新安装,几乎都是不可行的。错误报告太快了(应该给一个复制按钮方便看日志和反馈)这里就不贴了,来来回回试了好几次为了看清错误报告,最后发现好像是172.19.0.2这样的容器ip段固定了。其实重建不需要指定ip像compose up那样让他自动生成就可以了。
  3. 通过容器管理删除的应用还会显示已安装,只能通过“已安装”区域去卸载。但是卸载需要强制删除数据文件夹,我觉得这样很不合理。通过composedown的应用应该自动被识别卸载。由于2的问题我需要手动停止重新创建应用,同时保留数据文件夹,这样的设定让我必须丢弃数据文件夹除非手动备份。
  4. 容器希望可以直接访问对应var下的文件夹,方便查看一些没有映射目录的文件。
  5. 容器功能希望涵盖portainer的功能,这样我就不用portainer和1panel俩个来回切换管理容器查看一些信息了。
  6. 有一个修改已经创建容器映射目录的思路,我曾经反馈portainer无果,希望本项目可以考虑 参考 https://github.com/portainer/portainer/issues/8649#issue-1618176692

证书类

跟着我的思路处理,应该可以解决大部分http证书申请的问题,我测试这个好几天测试的都要吐了。别人估计不行就发issue/群/论坛了,我已经把解决方案整理出来了。

http申请证书申请存在逻辑问题
  1. 如果不安装openresty 则申请证书会403 因为没有80端口的web程序完成证书文件验证
  2. 如果安装openresty 还是会申请失败 404 因为没有先确定对应的web没有nginx的文件反代规则
  3. 安装openresty并且创建要申请的https域名后 虽然现在可以申请证书了,(到现在才是你们官方的正常流程,但是文档没有提及) 但网站里面的https内部依然无法申请证书 必须重新回到证书界面申请 才能回到此处选择证书。此间全部过程过于乱七八糟,没有逻辑性。我是测试了好几天最后看日志配合猜想推测分析了原因才总结出来。(我是恰好知道http和dns申请原来才推测出来真正的申请流程,但是对于大部分小白来说一个步骤错了就很难申请成功)我花了好几天的时间在这个证书申请上。十分建议参考你们应用里面的npm申请流程。当然他申请的顺利是因为容器启动就占用了80端口,所以对此我给出下面的意见
    1. 没安装openresty的时候 像现在这样可以申请证书 那么请临时监听80口 并且处理提示80口的占用以及安全放行规则。安装以后再取消监听。
    1. 如果安装了openresty但是没设置网站 请自行对证书域名创建nginx临时传递证书文件规则。以及提前判断ip是否解析等(可以省略 有一些如cf等cdn回源域名 不需要强制解析到ip 最后给出超时判断规则即可 ip证书并不会占用太久)
    1. 在已设置的网站https里面 应该允许手动申请 可以不用提供acme账号的申请 但是至少需要可以选择acme账号后 当前页面手动解析创建证书。参考npm和雷池
  • 但是 上面是最完美的方案,所有逻辑都考虑到。我觉得对于开发比较麻烦而且效果并不是很显著,所以我提供了下面的方案。
    1. 申请证书时 请给出对应的提示 要求先openresty再干嘛干嘛
    1. 如果没安装openresty 则像其他依赖于各种应用的页面一样 提示不可用、考虑到你们可能想的是放开dns申请 你们也可以只对部分按钮显示。
    1. 或者还是像现在的逻辑。但是需要补充网站位置单独申请证书的选项按钮,这个应该很容易。然后证书单独申请界面 对于http模式的域名 会先判断有没有安装openresty以及有没有对应域名的网站,没有则给出提示或者禁止点击申请。
这样对于ip申请的部分已经完结。再说说dns申请,问题就比较简单。
  1. 同一个dns账号一起申请同一个域名不同所属方的证书(如用cf的key同时申请一个证书的let和zero证书),会堵塞申请,导致无限检测但是不会超时,有时候日志也会显示检测到已存在txt,但是还是继续等待无结果不会分开线程处理。 ~2. 还有个报错问题,看了一下日志申请是会先读取cname记录。我不知道是不是本来就会先读有没有存在域名的cname记录,因为我好像记得以前申请没问题,可能是我之前申请的不是泛域名?这条先略过吧。~
  2. 证书信息应该支持修改 我现在申请失败只能删除重新建,不能编辑;同时dns账号信息应该也需要更改,选择后无法更改厂商,有时候写完key信息忘了改厂商,发现编辑不能改还得重建。
  3. cf的api不需要邮箱账号 可以去掉 当然随便写也没问题。

~- 题外话 : 我测试了多个机子 用同一个镜像系统。发现在怪兽的服务器上,会出现读取dns记录超时 经常是1.2分钟才返回,当然这个事情我觉的是怪兽服务器的问题 但是同时怪兽用npm是没有任何问题的。所以提一嘴。可能会有关于硬件的思路?我是没有找到对应日志 可以不用管这个反馈,我别的服务器一样的配置一样的防火墙都正常。其实一开始关闭nftables也正常了,但是我排查了两天发现和nftables没有什么关系。~


防火墙类

防火墙希望支持nftables ufw这些无法屏蔽docker映射外网的端口 或者使用第三方修改的ufw版本


ui类
  1. 优化适配手机界面(值得一提,f12缩放时发现,左侧菜单会自动缩成图标,手机倒是没有这个特效,可能是尺寸不够?不过也好,不然刚开始认不清图标找不到对应项目)
  2. 希望添加快捷重启面板/服务器的按钮。
  3. 菜单可以自定义排序也许也不错。(不是很重要,应该放上面反馈分类的)

关于多台主机管控思路


还有个建议:

有时候需要在多个前置机实现类cdn效果的服务器上安装1panel,但是每台服务器只是用作前置拦截而已,想通过1panel实现waf,需要每台都购买专业版,而这种服务器成本一般一个月才三十多块。我的意思是,在大量前置的服务器下,能否由同一个许可证同时应用高级版并且同步waf相关配置和网站设置?这样既可以防止一个许可证多用多台机器的情况,又可以让所有通过前置回源的服务器共享同一个配置不需要额外配置。如果可以考虑就太感谢了,我想在多台前置机上回源。甚至你们可以强行同步所有数据包括网站那些,只用一台控制主数据,可以类似于多台集权管理方案。这样多台共享回源,也不会被滥用。或者可以开放web功能都可以 我只是提出一个建议,类似的限制依据等等你们可以自己给出方案,比如通过同一个域名管控等等。


附加信息


最后想说,我是之前就关注过1panel的专业版和waf功能,也是知道出了专业版就第一时间买的。虽然以为要很久没想到这么快就出了,waf功能也有点简陋,但是权当支持了,期待后期优化,主要是相信你们的开发能力和服务态度。

但我是原价买了3台,买了以后发现别人全是1折购买的,有点难受。不过买都买了我也不想着要退款之类的,只是想看在我花了这么多时间收集整理写反馈,以及原价两千多支持过你们的份上,能不能也给我几个1折码,我也想体验一下一折的优惠折扣,(或者我原价买了3台就给我3个吧我也不多要。。)刚好我有几台便宜的前置机想在你们考虑我上面的共享方案之前用激活码开一下waf,保证自用不二手出售,如果发现公然倒卖允许封禁我的许可证,如果可以就太感谢了。当然实在不行就算了。我也就是提一嘴,比一下落差太大了每台多花900元。。

superen7527 avatar Apr 22 '24 17:04 superen7527

大概就这些了,还有一些想法没记录下来可能遗忘了,也算是这几天的心结,终于总结完了。不再回想了。

明天还得早起有一大堆事。整理完刚才又花了一个多小时(可查上面编辑记录)优化markdown阅读体验,这样你们看的应该清晰明了点,固定一个姿势一直改编辑累死了,本来想整理完睡觉前发一下,又优化这么久,哈哈,不然下次编辑不知道啥时候了,直接弄完睡觉吧。

真心希望这些可以有一点帮助吧!加油优化!

superen7527 avatar Apr 22 '24 18:04 superen7527

辛苦了,感谢建议。

maninhill avatar Apr 23 '24 01:04 maninhill

你好,请问你这边 https://www.lxware.cn 上的用户名是什么呢?

wan92hen avatar Apr 23 '24 01:04 wan92hen

感谢建议 我们分块回复

zhengkunwang223 avatar Apr 23 '24 02:04 zhengkunwang223

  1. 网站自定义配置这个 由于我们固定的配置无法更改 比如 listen root index 这些,所以只能是增加一个额外配置,创建完文件增加到底部
  2. 这个要支持,预计 2.0 版本
  3. 反代关键词替换这个放开 反馈的BUG: 打开 OpenResty 设置页面是要读取 OpenResty 状态,如果你是本地开发或者其他情况,无法访问 http://127.0.0.1/nginx_status,就会出现这种情况,后续我们会优化此处的提示

by the way 可以加一下我的微信 image 我拉你进核心用户群

zhengkunwang223 avatar Apr 23 '24 02:04 zhengkunwang223

文件类:

  1. 文件编辑当前是根据文件名后缀自动匹配语法,用的是 vscode 的模版
  2. 这个优化放在后面做

zhengkunwang223 avatar Apr 23 '24 02:04 zhengkunwang223

waf类 先说一下 xss 检测的原理,默认检测到包含 html 语法的都会触发 xss 检测,从 WAF 产品的角度来说,无法分辨 类似 这类的语法是不是友好语法,所以只能检测到脚本就识别为 xss, 我看你用过雷池,其实雷池或者其他WAF产品都是这么做的

  1. 可以先看一下 https://bbs.fit2cloud.com/t/topic/4540/2 这篇文章
  2. 根据地区访问限制这个精确到省份可以做
  3. https://bbs.fit2cloud.com/t/topic/4540/2 在这篇文章中有提到
  4. 有些网站访问一次会发 100 多次请求,所以这种容易被拦截,需要你根据你网站的情况,来配置相应的规则

WAF 这个功能,没有办法照顾到所有类型的网站,就比如频率访问限制,放的太宽,防不住 CC ,太低,可能拦截正常网站请求,所以很多情况下需要我们微调一下,我们后续会增加 CC 之后人机验证的功能,这样即便被拦,也可以通过验证之后继续访问

zhengkunwang223 avatar Apr 23 '24 02:04 zhengkunwang223

证书类 HTTP 模式

  1. 证书申请的时候 如果你是 DNS 或者 手动 DNS 模式,是不需要安装 OpenResty 的,只有 HTTP 模式需要,这个我们有提示
  2. 所有的网站在创建之后都有证书验证配置
   location ^~ /.well-known/acme-challenge {
        allow all; 
        root /usr/share/nginx/html; 
    }
  1. 创建网站自动申请证书后面优化

DNS 模式

  1. 这种情况我们检测不到 因为请求发送到证书机构我们也只能等待
  2. 后续增加编辑
  3. 后续改为非必填

zhengkunwang223 avatar Apr 23 '24 02:04 zhengkunwang223

引用回复部分

waf类 先说一下 xss 检测的原理,默认检测到包含 html 语法的都会触发 xss 检测,从 WAF 产品的角度来说,无法分辨 类似 这类的语法是不是友好语法,所以只能检测到脚本就识别为 xss, 我看你用过雷池,其实雷池或者其他WAF产品都是这么做的

  1. 可以先看一下 https://bbs.fit2cloud.com/t/topic/4540/2 这篇文章
  2. 根据地区访问限制这个精确到省份可以做
  3. https://bbs.fit2cloud.com/t/topic/4540/2 在这篇文章中有提到
  4. 有些网站访问一次会发 100 多次请求,所以这种容易被拦截,需要你根据你网站的情况,来配置相应的规则

WAF 这个功能,没有办法照顾到所有类型的网站,就比如频率访问限制,放的太宽,防不住 CC ,太低,可能拦截正常网站请求,所以很多情况下需要我们微调一下,我们后续会增加 CC 之后人机验证的功能,这样即便被拦,也可以通过验证之后继续访问

感谢引用,原来并不是全部都在文档里,这是我疏忽了,1panel是一个社区性论坛,我忽略了社区发布教程的可能性,抱歉。

关于规则误杀:防不住我知道,用雷池的时候 体验是一样的。因为有一些网站,比如git/文件管理/代码提交等场景网站,经常会误触规则。所以希望提供一个快捷规则定位方便白名单放行的快捷键,以及触发屏蔽的请求信息会匹配关键词高亮显示的场景,也是本issue关于waf的核心请求。

雷池对于规则是有id的,如果短时间不能直接跳转对应规则,可以考虑模仿雷池id的形式显示出具体触发拦截的id让用户自己去找id,也是个办法。

关于我反馈的两个bug部分

waf里面编辑自定义403那些页面,会触发默认的xxs攻击

进面板的时候访问了一个不存在(可能是上一个版本?)的资源文件请求了100次以上然后触发我自己的频率限制? 感觉像bug 这个也提供不了日志 就发一下相关资源名: /assets/js/index-d6d07923.js 中国 福建 2024-04-22 23:50:06 访问频率限制 禁止

~1. 反馈的修改自定义界面触发waf:这个属于雷池里面的功能 但是会触发自带防火墙。当然误杀在所难免,只是知道了这个自带功能会触发自带waf,那么应该给一个提示或许会更好。只是对网站关闭所有xss规则并不是很好的解决思路。而且有一些提交文件等也会触发sql注入类,所以也急需快速定位规则所在位置的功能。~ ~2. 反馈的这个bug:似乎是1panel本身面板的bug,所以发出来。就是进面板一次就访问了一个不存在的资源上百次,waf里倒不像是误杀。不过这个现在还不能复现,目前可以先不管,后续有大量反馈再排查。~

目前新进度:

  1. 发现 面板的 api/v1/apps/phpmyadmin 路径 安装应用也会触发waf规则(然后拦截会提示没有权限退出登录返回登录界面,期待优化返回提示以及不这样跳转),这个需要手动开启白名单。于是和上面说的 修改自定义界面被拦截 作为同类型放在一起思考:
  • 这样每次关闭对应规则也不是办法,但是把网站的waf全关也不是办法,最后想了一个方案:应该对部分路径设置白名单。 于是我看了一下面板,目前还没有这样的支持,我用acl暂时补充了,所以这个问题略过。(但是这样白名单的地址不知道会不会成为被攻击的路径,不知道你们有没有更好的方法)
  1. waf对于频率拦截 并不是显示到全部访问的链接路径,而是触发频率上限后的最后一个地址进行记录。所以之前的思路错了,并不是什么bug触发了大量访问同一个路径,而是面板可能是bug或者缓存过期,或者不知道怎么复现的异常访问了多次,导致路径多次请求面板。最后显示给我那个资源地址不一定有问题,而是刚好触发达到了上限。
  • 于是我想:是不是可以针对部分js.css异常多的网页单独计数资源文件的限制(因为跟随主站,不可能直接放行。但是自己写tcl只能允许不能限制次数)?或者在全局访问限速里面针对非同一个地址和同一个地址多次访问进行区分?或者是直接新增对同一个地址多次访问的规则?

对此思绪后,对waf的acl有新的想法,配合旧的忘记反馈的想法,放下面新建议整合。


最后,cc后触发人机这个想法很不错,赞👍🏻

superen7527 avatar Apr 23 '24 04:04 superen7527

引用回复部分
  1. 网站自定义配置这个 由于我们固定的配置无法更改 比如 listen root index 这些,所以只能是增加一个额外配置,创建完文件增加到底部
  2. 这个要支持,预计 2.0 版本
  3. 反代关键词替换这个放开 反馈的BUG: 打开 OpenResty 设置页面是要读取 OpenResty 状态,如果你是本地开发或者其他情况,无法访问 http://127.0.0.1/nginx_status,就会出现这种情况,后续我们会优化此处的提示

by the way 可以加一下我的微信 image 我拉你进核心用户群

  1. 关于额外配置 这样思路就可以了,不过建议是更加区分,比如全局的 独立的,也就是在Server http 和location 这些区块下面的额外配置。
  2. 反馈的bug是我在公网下面触发的,但是我最开始建立的时候是不会有bug的。

也许:可能是我弄了个静态网站做默认主页有关系。因为后续我看的不是全局日志,而是这个静态的错误日志才发现这个报错。不过说不定报错是全部网站的,我当时没有看其他网站的nginx报错,只是把静态网站关了,但是问题还在。所以反馈的时候认为和这个静态站应该没关系,就没加进来进来。现在一起提供个思路

superen7527 avatar Apr 23 '24 05:04 superen7527

引用回复部分

证书类 HTTP 模式

  1. 证书申请的时候 如果你是 DNS 或者 手动 DNS 模式,是不需要安装 OpenResty 的,只有 HTTP 模式需要,这个我们有提示
  2. 所有的网站在创建之后都有证书验证配置
   location ^~ /.well-known/acme-challenge {
        allow all; 
        root /usr/share/nginx/html; 
    }
  1. 创建网站自动申请证书后面优化

DNS 模式

  1. 这种情况我们检测不到 因为请求发送到证书机构我们也只能等待
  2. 后续增加编辑
  3. 后续改为非必填

嗯 这样也不错了。

我也是看到这个规则才明白是借助openresty完成验证的,一开始还在想不用openresty为什么可以有申请证书的界面,还以为是自己监听了80口实现证书传递规则。

申请证书可能是github上几个开源的项目,所以流程其实没什么问题。我反馈dns申请,主要是测试的时候有时候超时太久,十几二十分钟还在等待不结束。然后详细看了一下日志,才发现有一些检测不出来没有超时,还有同域名的dns多路申请会冲突,建议可以加一个申请dns证书时检测有没有正在申请的或者禁止申请中重复申请。还有就是可以手动结束停止申请

但是证书申请支持的机构很丰富 这一点我十分欣赏!做的很好。

其余回复

证书申请的时候 如果你是 DNS 或者 手动 DNS 模式,是不需要安装 OpenResty 的,只有 HTTP 模式需要,这个我们有提示

这个我知道,dns和ip没有关系,也不用80口,所以我是分类到http申请类反馈的。

http申请证书申请存在逻辑问题

superen7527 avatar Apr 23 '24 05:04 superen7527

另外 容器类也有一点问题,有空的时候可以看看!感谢。

容器原文部分
容器类

1panel专业版才有waf,在此之前其实是以容器管理为主的面板,普通版也可以用,也就是说1panel核心是容器化管理,对此论坛里也有过回复,在未来很大一段时间内都会以容器为主,在最后期才会考虑对宿主机直接安装应用的开发计划。所以容器类目应该更细致优化体验和功能才对。

  1. 没办法更加细致修改容器,比如openretry 默认是host模式,通过compose文件修改成bridge 还是需要强制选择80 443端口,不能更自由映射。而且bridge以后 还要检测端口是否被占用,应该是你们特别对该应用优化,但是逻辑没考虑全,期望改进。
  2. 没办法重建容器,大部分通过compose手动创建的容器和安装的应用,想重新安装,几乎都是不可行的。错误报告太快了(应该给一个复制按钮方便看日志和反馈)这里就不贴了,来来回回试了好几次为了看清错误报告,最后发现好像是172.19.0.2这样的容器ip段固定了。其实重建不需要指定ip像compose up那样让他自动生成就可以了。
  3. 通过容器管理删除的应用还会显示已安装,只能通过“已安装”区域去卸载。但是卸载需要强制删除数据文件夹,我觉得这样很不合理。通过composedown的应用应该自动被识别卸载。由于2的问题我需要手动停止重新创建应用,同时保留数据文件夹,这样的设定让我必须丢弃数据文件夹除非手动备份。
  4. 容器希望可以直接访问对应var下的文件夹,方便查看一些没有映射目录的文件。
  5. 容器功能希望涵盖portainer的功能,这样我就不用portainer和1panel俩个来回切换管理容器查看一些信息了。
  6. 有一个修改已经创建容器映射目录的思路,我曾经反馈portainer无果,希望本项目可以考虑 参考 https://github.com/portainer/portainer/issues/8649#issue-1618176692

superen7527 avatar Apr 23 '24 05:04 superen7527

你好,请问你这边 https://www.lxware.cn 上的用户名是什么呢?

您好,我用户名是superen。购买3个的用户名不是这个,是我项目组的,如果有需要提供证明,可以给一个邮件,我发送原价购买账号的相关信息给你。

superen7527 avatar Apr 23 '24 05:04 superen7527

关于waf优化补充:

  • waf的acl希望支持更多规则和规则组合以及规则效果:
  • 更多规则:比如以什么开头或结尾等匹配规则, 目前是用正则代替。
  • 更多组合:目前只能添加应该是"或"的规则,没有考虑"和"和"或"以及多重且1非2,1和2非3和4等等这样的规则组合。
  • 规则效果:目前只能设置允许放行或者禁止访问。但是应该考虑更多规则,比如:对于频率限制的问题,可以考虑如果被触发则不进行频率限制记录等这样的思路。

说明和场景:

  1. 正则确实可以弥补更多没办法考虑全面的规则,模拟以什么开头结尾等形式,但对于特殊符号的转义部分处理上有一些麻烦。如果能提供原生的开头结尾匹配会更好。太复杂的规则再按需自行正则。
  2. 点击添加按钮的时候,并没有明确说明是"or"还是"and"规则。
  3. 比如文件全局限速10次一分钟。但是该网站的资源文件特别多,正常访问一次没有缓存会请求上百次jscss等资源文件,会直接触发访问上限但是又不想修改限频规则。(目前没有更多规则只能自定义acl匹配这些特殊需求)如果通过acl放行只能允许,看说明代表白名单。那么就会成为cc的目标地址被无限请求。所以希望这里可以单独对这些地址单独限频率。以及应对这种情况的"同路径多次访问"的频率限制。

superen7527 avatar Apr 23 '24 14:04 superen7527

借着这个 issue 我可能也说出其他建议和需求

  1. 面板能不能加个白名单ip免登陆或者包含特定ua免登陆,我自己调试的时候一直重复登陆挺麻烦的。又不想浏览器记住密码。
  2. 对于没有显卡的云服务器 其实可以自动检测就不显示高级版gpu界面,虽然可以手动关。

关于建议第8项:

  • 免登录什么的,我还是喜欢用 物理密钥,用特征免密登录安全性太差了
  • 希望 1Panel 也能做出使用 WebAuth 认证设备的登录机制

关于建议第9项:

  • 概览页也应该展示出 GPU 的各项占用情况(可能技术或其接口的原因不能实时检测出数据,这个可以忽略)

ChishFoxcat avatar Apr 26 '24 12:04 ChishFoxcat