• 背景 起因是为了某个项目的进行调试复现bug。但是项目已经快要被砍掉了,所以测试环境早在很久之前就关闭了(但是来了问题还得解决…)。 那么自然而然的就会想到本地搭建一套测试环境出来,进行本地调试。但是在搭建好了db和前后端等环境后发现有一个问题,那就是中间接入了Outh2.0认证,这个Outh2.0认证的callback地址是固定的。那么我需要吧他的CALLBACK地址映射到本地上。 解决方案 要做的不止是dns代理,还需要转发端口。 那么这里,我们假设 ①前端开启在本地localhost,端口为8080。 ②callback地址为http://www.test.com。 ③本地环境为macBook dns代理 dns代理好说,直接修改/etc/hosts文件即可。 # 把www.test.com代理到本地(127.0.0.1) 127.0.0.1 www.test.com 端口转发 #这里使用了第三方软件,socat。 #brew安装socat brew install socat #启动端口转发,使用守护进程方式 socat TCP-LISTEN:80,fork …
    Created Fri, 08 Mar 2024 16:36:43 +0900
  • 安装 建议直接上官网上下载安装,官网上有提供教程和安装包。 mac linux windows 卸载 用官方提供的卸载方式 https://docs.docker.com/desktop/uninstall/ 手动卸载(docker损坏后执行不了任何命令时使用,例:使用迁移助手从Inter芯片迁移到M系芯片后) 直接核武器摧毁一切 sudo rm -rf ~/Library/Caches/com.docker.docker ~/Library/Cookies/com.docker.docker.binarycookies ~/Library/Group\ Containers/group.com.docker ~/Library/Logs/Docker\ Desktop ~/Library/Preferences/com.docker.docker.plist ~/Library/Preferences/com.electron.docker-frontend.plist ~/Library/Saved\ Application\ …
    docker 基操 Created Fri, 22 Dec 2023 10:11:06 +0900
  • tcpdump tcpdump是一个在 Unix/Linux 系统下用于捕获和分析网络数据包的命令行工具。它允许用户拦截和分析经过指定网络接口的数据包,可以用来检查网络流量、排除问题、进行安全审计等。 # -i 指定网卡;port 指定端口;not 排除;c 指定抓包数量;w 指定保存文件 tcpdump -i bond0 not port 22 -c 10 -w /tmp/tcpdump.pcap
    linux 抓包 Created Wed, 20 Dec 2023 10:42:51 +0900
  • 背景 今天在工作中,由于某种原因,服务器需要重装系统&重新搭建环境&服务重启。 过程 在服务器重装系统后,重装了docker后进行docker build时,便遇到了问题:Get https://index.docker.io/v1/repositories/library/openjdk/images: dial tcp [2600:1f18:2148:bc02:4bf0:3a98:55ae:e3d5]:443: network is unreachable。这错误的意思是无法从dockerhub中下载镜像。 后来试着pull了一下局域网内的其他服务器的docker镜像,发现可以pull下来。我就没有往是路由方面去考虑了。 后来经过多番的docker重装和各种更改docker源后,发现依旧不好使。 在最后,我ping了一下www.baidu.com也无法ping通,便几乎确定是无法连接到外网问题。 直到第四步,问题的根源就立马暴露出来了,在检查router表后便能发现是router并没有设置默认网关。在设置好默认网关后,便能正常连接到外网了。 …
    linux 路由 Created Thu, 16 Nov 2023 10:34:45 +0900
  • 简要说明 由于中国国内的网络会有防火墙,从国内网络出口访问国外资源的时候,有大概率是会被国内网络运营商的防火墙判断为‘非法资源’而拦截,导致无法访问。 为了解决这种问题(我们称之为翻墙): 会使用正向代理方式,让一个不在防火墙黑名单中的代理服务器代替用户去访问‘非法资源’,然后代理服务器把得到的‘非法资源’再返回给用户。 搭建步骤 总纲 1. 购买或者租赁一台服务器。 2. 登录服务器上,安装依赖和获取安装脚本。 3. 使用shadowsocks来搭建vpn(正向代理通道)。 4. 自己设备端上安装shadowsocks客户端。 5. 通过shadowsocks客户端连接自己的vpn。 详细 step1.购买或者租赁服务器 这里可以去搬瓦工,阿里云,aws等VPS供应商去租一个服务器。这里我选择的是aws的ec2。详细过程注册购买过程就跳过了,请大家自行chatgpt一下。 PS:这次使用的VPS版本信息: Linux version 6.1.55-75.123.amzn2023.x86_64 (mockbuild@ip-10-0-62-35) (gcc (GCC) 11.4.1 …
    Created Tue, 24 Oct 2023 10:51:50 +0900
  • 名词说明 CI:Continuous Integration的缩写。代码合并,部署,自动化测试都在一起,不断地执行这个过程,并对结果进行反馈。 CD:Continuous Delivery的缩写。是一种软件工程化方法,让软件的产出过程在一个短周期内完成,以保障软件可以稳定、持续的保持在随时可以发布的状态。与持续集成相比,持续交付偏重点在于可交付的产物。 CD:Continuous Deployment的缩写。通过自动化部署的手段讲软件频繁地交付,部署到期望的环境。
    运维 基础知识 Created Wed, 16 Aug 2023 13:52:29 +0900
  • iptables简介 iptables 是一个在 Linux 操作系统上用于配置网络包过滤规则的工具。它允许系统管理员定义规则,以控制网络流量的流向,从而实现网络安全和流量管理。iptables 基本上是 Linux 内核中的一个防火墙管理工具,用于处理网络数据包的过滤、转发、伪装(NAT)等功能。 iptables常用命令 查看iptables规则 iptables -vnL 清空iptables规则 iptables -F 添加iptables规则 由于iptables是由上至下进行拦截的,所以添加时需要注意顺序,千万不要把drop写在第一行! # 插到队尾(A其实就是Append) iptables -A INPUT -s 10.252.12.34 -p tcp --destination-port 9200 -j ACCEPT # 插到队头(I其实就是Insert) iptables -I INPUT -s 10.252.34.56 -p tcp --destination-port 9200 -j ACCEPT 保存(重启生效)ipatbles规则 service …
    linux 基操 Created Wed, 16 Aug 2023 11:12:12 +0900
  • 申请接入微软SSO(隐式)大概需要以下流程: 申请一个Azure AD。 申请一个新的应用程序注册&&填写配置。 书写前端(本次使用了官方的react示例来实现) 书写后端(本次采用了go后端) OAuth登录流程 相当于是把微软发行的id_token代替了我们的账号系统中的账户密码来进行登录。 分步说明(实操举例) 申请一个Azure AD 没什么好说的,直接进入AzureAD官网(azure.microsoft.com)按照流程申请一个就行了。 申请一个新的应用程序注册 step1:进入Azure AD页面 step2:应用注册→新注册 step3:名字随便填;支持的账户可以先选最宽广的;选SPA;重定向URI先填个base的。 step4:多添加一条的重定向url(localhost:3000/redirect)。添加这个URI的原因是因为之后会用到官方的前端示例,实际上可以根据自己的项目要求添加重定向URI。 step5:增加API权限。API权限→添加权限→选择MicrosoftGraph→委托的权限→添加如图上的所有权限(之后可根据自己的了解和需求增减) 插 …
    鉴权 SSO 微软 Created Mon, 12 Jun 2023 15:25:25 +0900
  • 参考:黑马程序员K8S全套教程 知识点概括 pod:控制器的特点以及使用定义方式 服务发现:svc原理以及构建方式 存储:多种存储类型的特点 调度器: 原理,根据需求把pod定义到想到的节点运行 安全:集群的认证 鉴权 访问控制 原理及其流程 HELM: 类比linux yum,原理 运维: 修改Kubeadm(搭建k8s集群的工作) 延长证书可用期限更高,构建高可用的k8s集群 附: 服务分类:有状态服务(DBMS)和无状态服务(APACHE) 组件 APISERVER:所有服务访问统一入口 CrontrollerManager:维持副本期望数目 Scheduler:负责介绍人物,选择合适的节点进行分配任务 ETCD: 键值对数据库 储存K8S集群所有重要信息(持久化) Kubelet: 直接跟容器引擎交互实现容器的生命周期管理 Kube-proxt:负责写入规则至IPTABLES,IPVS 实现服务映射访问的 (插件)CoreDNS:为急群众的SVC中创建一个域名IP对应关系解析 (插件)DASHBOARD:给k8s集群提供B/S结构访问体系 (插件)INGRESS …
    k8s 学习 命令集 Created Tue, 16 May 2023 11:04:10 +0900
  • spring基础知识 Spring Bean通俗解释: Bean是啥 1. Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化); 2. 凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性; 3. 规律:凡是子类及带有方法或属性的类都要加上注册Bean到Spring IoC的注解; 4. 把Bean理解为类的代理或代言人(实际上确实是通过反射、代理来实现的),这样它就能代表类拥有该拥有的东西了 5. 我们都在微博上@过某某,对方会优先看到这条信息,并给你反馈,那么在Spring中,你标识一个@符号,那么Spring就会来看看,并且从这里拿到一个Bean或者给出一个Bean 注解分为两类: 1、一类是使用Bean,即是把已经在xml文件中配置好的Bean拿来用,完成属性、方法的组装;比如@Autowired , @Resource,可以通过byTYPE(@Autowired)、byNAME(@Resource)的方式获取Bean; 2、一类是注册Bean,@Component , @Repository , @ Controller , …
    java framework spring Created Wed, 26 Apr 2023 16:19:41 +0900
Next