技术

A collection of 23 posts
技术

Keycloak使用群晖Synology Directory Server作为AD/LDAP用户数据源

这又是keycloak的另外一个大坑。keycloak并不会自动创建一系列SSL证书相关的配置,都要自己手撸。 如果还没安装keycloak,可以参考前一篇文章『Docker Compose安装Keycloak』 然后,你的群晖要先把AD配置好,这里就不重复了。 1、获得群晖AD对应的SSL证书 首先,要把群晖为AD所生产的自签名SSL证书下载回来,后面需要用。 位置:群晖DSM管理后台-控制面板-安全性-证书。如果不太确定是哪张证书,可以点击『设置』,找到『Synology Directory Server』对应的证书下拉。 在对应的证书上点击右键,选择『导出证书』 导出的证书解压后有两个文件,一个是证书本身cert.pem,另外一个是证书的私钥privkey.pem,我们需要用到的是cert.pem 💡UPDATE 另外一个使用OpenSSL来获取证书的方法(方便不支持导出的LDAP服务器) openssl s_client -showcerts -verify 5 -connect <AD/LDAP服务器IP或者域名>:636
6 min read
技术

Docker Compose安装Keycloak

Keycloak的安装其实挺烦人的,相关文章并不多,参考也不多,很多例子都是旧版本的,随手记录下安装和配置信息吧。 使用的数据库是postgresql,假设已经有安装好的postgresql,并且默认管理员账号是postgres,那么我们先创建keycloak的用户 su - postgres # 我们创建一个名为keycloak的pgsql用户,和名为keycloak的数据库 createuser -s -P keycloak createdb keycloak -O keycloak 然后我们创建一个文件,docker-compose.yml version: "3" services: keycloak: image: quay.io/keycloak/keycloak:20.0 container_name: keycloak environment: KC_HOSTNAME: <域名,如sso.naizhao.com>
3 min read
技术

Windows 11硬盘对拷后丢失UEFI启动的解决方法

过年期间给Onexplayer换了个2T的新硬盘,结果换完后死活在UEFI里面找不到Windows 11的启动项,用PE工具来修复也不成功,最后还是手工搞定。 先找一个Win11的安装U盘启动,然后进入修复系统-高级-命令行。 c:\> diskpart diskpart> list disk diskpart> sel disk #(#是装有Windows的硬盘号,一般是0) diskpart> list volume diskpart> sel volume #(#是UEFI的SYSTEM分区号) diskpart> assign letter=K: diskpart> exit c:\> format K: /FS:FAT32 c:\> bcdboot C:\windows /s K:
1 min read
技术

如何下载macOS安装包及加入beta测试

下载完整安装包 # softwareupdate --fetch-full-installer --full-installer-version **.**.* 比如 # softwareupdate --fetch-full-installer --full-installer-version 10.15 加入开发者测试版 sudo /System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil enroll DeveloperSeed 加入公共测试版 sudo /System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil enroll PublicSeed 退出测试版 sudo /System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil unen
技术

Caddy 2 如何设置CORS

Caddy 2 去掉了专门的CORS插件,所以需要额外的去重写header,以便支持Access-Control-Allow-Origin "*" route { try_files {path} {path}/ /index.php?{query} php_fastcgi unix//tmp/php-cgi.sock { header_down Access-Control-Allow-Origin "*" } } header_down表示,从上游的服务器(PHP、node等)取回数据后,重写header。同理,header_up则是把header传给/重写给上游服务器(如用户的浏览器类型、referer等)。 Caddy 2的Caddyfile改变很大,顺便附上一个参考配置 https://test.bra.do { encode zstd gzip log
1 min read
技术

小白如何从零开始安装Discuz! Q内测版

首先强调一点:当前Discuz! Q还是很早期的版本,主要是面向开发者,让开发者提前介入模板和插件的开发。或者有经验的站长,作为早期体验和选型。 但如果是不很懂技术的小白,也想体验的话,可以按照下面的方法来安装。并且保证是全新的服务器。如果这些条件都不具备,或者用了宝塔面板之类的第三方工具,不建议安装使用。 因为,当前官方开发人员的主要精力,集中在开发迭代新功能上,并没有太多精力来帮助没经验的用户安装使用。 UPDATE:URLOS提供了Discuz! Q的Docker一键安装脚本,欢迎体验 安装Discuz! Q内测版,首先你要具备以下条件 * 一个腾讯云实名认证过的账号,并且使用了DNSPod,在DNSPod至少有一个域名。(并不是为了强绑腾讯云,而是为了保证初期内测使用的用户都是强需求的) * 一台船新的腾讯云的CVM,操作系统可以是CentOS或者Ubuntu或者Debian,最新版本即可。当然阿里云或者华为云或者本地虚拟机也可以。但一定要干净,没装过任何东西。 * 在腾讯云账号中心的API密钥管理,获取到SecretId和SecretKey。注意:请
8 min read
技术

Mac电脑从AD域退出后如何清除密码有效期

设备入域后,都会被强制下发一系列的账号安全性及系统设置的限制。比如密码要求8位以上,混合大小写和数字等。即使退域后,这些设置也都还存在。 如果想修改某些设置,可以用下面的方法 $ pwpolicy -getaccountpolicies > account.xml 打开上面的account.xml,按照自己的需要修改或者删除内容。因为是xml格式,所以记得要把第一行Getting global account policies给删掉,不然导入时会报错。 修改完后,导入 $ pwpolicy -setaccountpolicies account.xml 或者更狠的方式,清理所有下发的规则,重置回系统默认 $ pwpolicy -clearaccountpolicies 改完以后,Mac就不会三天两头让你更换新密码了,也不会提示密码的复杂度不够、和前几个密码相同。
1 min read
技术

腾讯云如何开启IPv6

腾讯云已经提供IPv6的内测了,整体测试下来,效果还是不错的。下面是腾讯云开启IPv6的方法 1、先给私有网络(VPC)分配一个IPv6的CIDR 2、然后为VPC的子网获取一个IPv6的CIDR(输入框的0-255会转为16进制,不懂就默认好了。比如输入221,那么显示出来的IP对应部分就是DD,136对应的就是88) 3、为弹性网卡分配一个IPv6地址。这个步骤比较麻烦,需要每张弹性网卡都点击进去进行分配。如果弹性网卡多的话,是一个重复性劳动。 IP地址可以使用自动分配,或者自定义。自定义的话,需要把上面子网CIDR的前面部分拷贝一下,在后面加上自定义部分。比如子网CIDR是2402:4e00:1234:1234,那么可以自定义为2402:4e00:1234:1234:8888:8888:8888:8888,或者2402:4e00:1234:1234::8888 4、如果需要刚才申请的这个IPv6地址能被公网访问(废话),那么需要为这个IP地址开通公网访问权限。进入『弹性公网IPv6』,点击『
4 min read
技术

Standard Notes Extensions 安装

Standard Notes 的 Extensions 需要额外付费,按月单独付费的话,一个月要$9.99。其实除了几个网盘同步的扩展外,其他扩展(包括主题)都是开源的,可以自己host。 第一步,新建一个文件夹,先批量把SN的扩展源代码clone到本地。参考文章Github中如何批量Clone某人/组织的库。假定目录为/var/hosts/sn-extensions 然后Caddy添加一个新域名(原域名单独指定某个文件夹也可以),root指向clone下来的sn-extensions目录。 https://sn-ext.test.com { gzip tls /etc/ssl/caddy/server.crt /etc/ssl/caddy/server.key { curves p521 p384 X25519 p256 } mime { .css text/
3 min read