Ubuntu 22.04 内核相关操作
文章内容在 Ubuntu 22.04 系统下测试成功, 版本相差过大请自测。 开机显示启动项新版 Ubuntu 好像默认不显示启动项而直接进入系统了,可以通过修改 /etc/default/grub 来实现开机显示启动选项列表 12345# 注释掉这一行# GRUB_TIMEOUT_STYLE=hidden# 这一行是在grub界面等待的时间,单位sGRUB_TIMEOUT=30 修改完成后执行 sudo update-grub 更新 grub 配置 下面两种方式二选一即可。 更换使用的内核版本(通过启动项 uuid 指定方式)查看当前在用的内核版本1uname -r 6.5.0-14-generic 查看系统启动项12345# 查看'Advanced options for Ubuntu'选项的uuidgrep "submenu 'Advanced options for Ubuntu'" /boot/grub/grub.cfg | awk -F\' '{print...
获取Kubernetes的token
获取 admin 的 token如果有这个 secret, 可以直接查看 token 1kubectl -n kube-system get secret admin-token-nwphb -o jsonpath={.data.token} | base64 -d 新版 k8s 命令为选择一个现有的 serviceaccount 1kubectl get serviceaccount 使用这个 serviceaccount 创建一个 token(并设置有效期) 1kubectl create token default --duration 10m 新建一个用户获取 token如果考虑到权限没有合适的,或者没有相关的 secret,可以通过创建一个新的用户来获取 token 12345kubectl create serviceaccount admin-sakubectl create clusterrolebinding admin-sa-binding --clusterrole=cluster-admin...
阿里云ACK中Nginx ingress使用CLB上的Https证书
背景: 我们在客户那里部署了一套服务, 服务运行在客户提供的 ACK 集群, 我们删除了客户 ACK 自带的 nginx ingress, 通过自建的方式部署了两套 ingress, 一套绑定了公网 四层 CLB, 一套绑定了内网 四层 CLB, 也就是说是 CLB 转发到 ingress, 然后通过 ingress 转发到其他服务. 现在需要配置 Https 证书, 客户不同意我们配置证书到 ingress, 客户将证书放在了 CLB 上, 给了一个证书 ID 查询阿里云文档阿里云的文档还是很详细, 通过 google 查询到文档地址: 通过Annotation配置传统型负载均衡CLB 具体可以查看这里 HTTPS 请求会在 CLB 层解密,然后以 HTTP 请求的形式发送给后端的 Pod。 这个在腾讯云的四层负载均衡里叫 TCP SSL 监听器。 配置 LoadBalancer 类型的 Service因为我们的 CLB 是只给 ingress 使用, 所以修改 ingress 的 Service 配置...
Django RestFramework 自定义显示字段
有的时候序列化出来的字段并不是我们想要的, 比如说返回的用户 id,而我们想要返回的是用户名, 这个时候可以用到 django rest framework 的自定义字段功能。 先看一下原始数据1234567891011121314[ { "id": 1, "name": "1", "desc": "sdg", "user": 1 }, { "id": 5, "name": "1", "desc": "sdg", "user": 2 }] 这里 user 显示的是 id, 并不是我们想要的 username 增加一个字段, 显示...
curl常用操作记录
curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。 它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。 参考文章: https://www.ruanyifeng.com/blog/2019/09/curl-reference.html 参数-A-A 参数指定客户端的用户代理标头,即 User-Agent。curl 的默认用户代理字符串是 curl/[version]。 12345# 将User-Agent改成 Chrome 浏览器curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com# 移除User-Agentcurl -A '' https://google.com 也可以通过...
检查域名支持的HTTPS协议版本
使用 NMAP(推荐)依赖于 nmap, nmap 需要安装 1nmap --script ssl-enum-ciphers -p 443 baidu.com 比如 GitHub 只支持 TLS1.2 和 TLS1.3: 在线验证SSL Server Test (Powered by Qualys SSL Labs) 这个域名还可以检测支持的设备情况。 https://myssl.com/ https://www.ssleye.com/ssltool/cipher_suites.html https://www.site24x7.com/zhcn/tools/tls-checker.html 使用 CURL 验证12curl --tlsv1 --tls-max 1.0 https://github.comcurl --tlsv1 --tls-max 1.0 https://www.baidu.com 报错说明不支持当前版本: 1curl: (35) LibreSSL/3.3.6: error:1404B42E:SSL routines:ST_CONNECT:tlsv1...
使用openssl对文件进行加密
使用密码加密12345678# 指定输入和输出文件操作openssl enc -e -aes256 -in test.sh -out enc.sh# 或者使用管道符cat test.sh | openssl enc -e -aes256 -out enc.sh# 压缩后加密tar zcvf - 1.sh | openssl enc -e -aes256 -out temp 使用密码解密12345678# 指定输入和输出文件操作openssl enc -d -aes256 -in enc.sh -out 1.sh# 或者使用管道符进行操作openssl enc -d -aes256 -in enc.sh | tee a.sh# 解密后进行解压openssl enc -d -aes256 -in temp | tar zxvf -
Django RESTframework 自定义Response
比如我想给返回的 json 加上 code/ msg 等信息,可以通过修改 drf 的 response 来实现。 全局生效参考:https://www.cnblogs.com/henryhong/p/djangodrf-zi-ding-yi-shu-ju-fan-hui-ge-shi.html 默认情况12345678910111213141516171819{ "count": 2, "next": null, "previous": null, "results": [ { "id": 2, "url": "http://localhost:8000/api/category/2/", "title": "AAA", ...
查看Navicat保存的密码
Navicat 密码一旦保存, 再次编辑就没法查看密码是什么了, 包括之前可以使用的星号密码查看器也看不到密码, 我们可以通过导出链接文件, 然后通过解密被加密的密码来获取密码原文. 导出加密密码打开 Navicat – 文件 – 导出连接 接下来的弹窗里, 勾选导出密码, 然后导出成 ncx 文件 用文本编辑器打开 connections.ncx 文件, 复制 password 的值, 这个就是加密后的密码. 使用 PHP 解密电脑没有 PHP 环境, 所以选择使用 Docker 来运行 PHP, 操作如下: 准备解密脚本vim...
Django RestFramework 使用router生成路由
django 使用的是模块化结构,每个 app 都可以独立拆分,那么注册路由的时候也可以灵活一点, 使用 drf 框架提供的 router 来自动生成路由 应用级 urls.py 12345678910111213from django.urls import path, includefrom rest_framework import routersfrom app01 import viewsrouter = routers.DefaultRouter()router.register(r'groups', views.GroupViewSet)router.register(r'students', views.StudentViewSet)urlpatterns = [ path('/', include(router.urls)),] 这里 path 路径是/, 引用了 router, router 注册了两个路由, 分别是 groups 和 students, 生成的 api 路径就是...