写一个 SSO

一般情况下,开展业务的团队需要两套 SSO(单点登录)系统,一套面向客户,一套面向团队内部;因为

  1. 面向客户的服务通常存在多个,大部分有登录鉴权或获取客户信息的需要
  2. 面向客户的服务越多,相应的后台管理应用也会越多,需要对操作人作相应鉴权
  3. 多个系统各自实现登录鉴权,既不安全也不高效,因此需要两套 SSO

最近三周小记

三周前前任雇主与我提了分手(含分手费),一别两宽,一路走好 #言重了 😅

动身见过千里之外的朋友,亦有贵客自远方来造访寒舍 #感恩 😄

陪伴娃的时间稍多,见证了亦青宝宝解锁一些技能 # 👨‍👩‍👦

得益于今年的风控管理,目前现金储备宽裕,虽然投资处于亏损状态 # 🍂

Kong X-Forwarded-Port 8443 问题

异常现象

  • 个别应用会根据请求头 X-Forwarded-Port 来确定重定向地址,如 Jenkins 「系统管理」相关链接跳转,X-Forwarded-Port 不准确会导致跳转异常;

Kong 直接作为入口网关

此前,网络架构上使用入口 Nginx + Kong,相关配置简单,可快速上手。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 入口 Nginx 配置实例
server {
listen 443 ssl;
ssl_certificate ……;
ssl_certificate_key ……;
server_name *.fangcha.net;

location / {
proxy_read_timeout 300;
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Host $host;
}
}

Kong Route - 强制使用 HTTPS

Nginx 中强制 HTTPS 访问常用配置

1
2
3
4
5
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}

Nginx 转发相关问题小记

调试工具 / 环境

ELK 安装

什么是 ELK Stack?

“ELK” 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。

Chrome 密码恢复操作小记

昨天,在清理浏览器数据时,误删了浏览器及 Google 账号保存的密码和自动填充数据,以下是挽救之路:

  1. 打开另一台电脑前,保障不让它联网(联网可能会将 Google 账号的删除操作同步过来)
  2. 打开 Chrome,确认密码还健在
  3. 打开 Safari,将 Safari 设置为默认浏览器,此时 Safari 会询问「是否导入 Chrome 的密码和书签」,选择「导入」则稳住了基本盘

Jenkins VS. GitHub Actions

  • Jenkins 是一款由 Java 编写的开源的持续集成工具,初始版本在 2011-02-02 推出

Jenkins 相关一些问题解决方案记录

1. No such DSL method ‘sshCommand’

1
java.lang.NoSuchMethodError: No such DSL method 'sshCommand' found among steps [archive, ……