懒猫微服开发篇(八):反向代理与自签名 SSL 的优雅共存之道

在分布式系统中,HTTPS 是默认的通信规范。但当你在内部环境中部署服务时,特别是很多以容器方式运行的组件,但是很多时候
它们往往只默认开启了 HTTPS 接口,却附带了一个 自签名证书(Self-signed certificate)

这意味着,只要一层反向代理(reverse proxy)去转发 HTTPS 请求,TLS 校验就会报错
这不是配置错误,而是 SSL 的“安全特性”在起作用。

阅读更多

懒猫微服开发篇(七): 解析 Docker Compose Override

看过很多的 Docker 教程,也都不曾提到过 compose override,第一次接触到这个是在懒猫微服上解开 LPK 看到的,用来注入 docker 引擎的环境变量。但是还以为是懒猫微服的小技巧,今天整理笔记才发现原来的 Docker compose 用来做多环境部署的配置文件,比如用来给开发和生产分别注入不同的环境变量和配置文件。

参考文档:Docker Compose Override - LazyCat Developer Guide

阅读更多

懒猫微服开发篇(四):懒猫微服如何使用 OpenID Connect (OIDC)?(上)

OpenID Connect(OIDC)是一个基于 OAuth 2.0 的身份认证协议,允许用户使用一个账号(如 Google、微信、Microsoft 账号)登录多个不同的网站或应用,而无需重复注册。我们经常把他和OAuth 2.0 混为一谈。

它主要用于 身份认证(Authentication),而 OAuth 2.0 主要用于 授权(Authorization)。简单来说:

  • OAuth 2.0 → 让应用能访问你的数据(如获取微信头像),还要自己做用户管理。
  • OIDC → 让应用能确认“你是谁”(如用微信账号登录)

下面以我的懒猫 ENV 查看器为例,来讲解这个登录流程。

当你在应用处点击登录就会重定向到登录中心,我们通常管这个叫做身份提供商(IDP),如果是其他的软件有可能是 “使用 Google 登录”“微信登录”

阅读更多

懒猫微服开发篇(三):如何将已有 Docker Compose 应用移植到懒猫微服

本文延续前两篇,演示如何把一个已经在本地运行良好的 Docker Compose 应用打包并上架到懒猫微服应用商店。以 Milvus 为例,逐步拆解 Manifest 配置、路由映射、数据卷绑定以及镜像加速等关键环节,帮助大家快速完成移植。

1. 目录结构与核心文件

在懒猫微服中,一个最小可用的应用包仅需两个文件:

文件 作用
lzc-build.yml 描述打包流程及应用图标。简单应用只需指定 icon 即可。
lzc-manifest.yml 定义应用元数据与服务编排,是移植的重点。

本文主要关注 lzc-manifest.yml 的编写。

2. lzc-manifest.yml 字段逐一解析

现在有了懒猫应用查看器很方便,我们以商店里的 Milvus 的示例 Manifest 为例,并附带注释说明。

阅读更多

懒猫微服开发篇(二):远程调试之 Devshell

我们上一篇讲述了如何打包上架 APP,这期我们就来看如何远程调试即将上架的 APP。

简单来讲,这个 devshell 其实就是在微服上打开了一个虚拟机环境,然后我们可以进去里面测试我们的命令。非要说技术实现,那就是 docker exec 了。只不过是做成了本地和微服之间同步的样子。

输入微服的名字/v2/_catalog,可以看到微服里面 Docker 仓库存放的镜像,debug.bridge 开头的就是 devshell 的 image。

1
2
3
4
5
6
7
{
"repositories": [
"debug.bridge/231ee20d4e4d8edbd2004e7609fd9c15",
"debug.bridge/ddc6dbf609125b7bd2c0efb0ed4254d1",
"helloworld"
]
}

在 lzc-build.yml 里定义了 devshell 的配置,这个的意思是就是安装 node 和 python 的环境,设置国内源,然后讲根目录转发到 5173,这个是 vue 的端口。所以我们可以推断,这个是一个 Vue+python 的全栈项目,所以我们可以开两个终端来进入 devshell,分别调试前后端。

阅读更多

懒猫微服开发篇(五):懒猫微服如何使用 OpenID Connect (OIDC)?(下)

先决条件:

需要在lzc-manifest.yml定义 oidc_redirect_path 和 environment。

配置lzc-manifest.yml

oidc_redirect_path 就是你的应用的回调地址,只有写了这个之后才能正确使用 OpenID Connect 的环境变量。

回调地址是按照应用而定的,有的是/callback,/oidc/callback 或者/oauth/callback。

阅读更多

懒猫微服开发篇(六):用 Openresty 做反向代理来解决跨域问题

对于 Web 开发而言, 经常会遇到跨域问题。我们先来看一下什么是跨域问题:

跨域问题(Cross-Origin)本质上是浏览器的同源策略(Same-Origin Policy, SOP)在发挥作用:

同源指“协议 + 域名(或 IP)+ 端口”三要素完全一致。只要三者有任何一个不同,就被视为跨域

为什么浏览器要限制跨域?

  • 安全:阻止一个站点随意读取或修改另一个站点的敏感资源(如 Cookie、LocalStorage、DOM),避免 XSS、CSRF 等攻击链被无限放大。
  • 隔离:让不同网站在沙盒里各自运行,互不干扰。

同源策略只在浏览器环境生效;后端服务之间(如服务器 A 请求服务器 B)并没有 SOP 的限制。

阅读更多

懒猫微服开发篇(一):懒猫微服全栈上架指南,一步打包,一键发布

懒猫应用离不开社区的力量,有了各位社区贡献者的支持让懒猫商店的应用越来越丰富。下面示范如何把自己的全栈应用上架到懒猫微服。

官网给出的示例里只有 3 个必备文件lzc-build.ymllzc-icon.pnglzc-manifest.yml

示例目录结构

  • **lzc-icon.png**:应用图标,必须为  PNG。
  • **lzc-build.yml**:定义打包脚本、输出路径与图标路径。
  • **lzc-manifest.yml**:应用清单,描述路由规则等。
阅读更多

懒猫微服开发篇(零):上架应用需要哪些知识

懒猫微服的可玩性在于可以让开发人员放开手脚来做一些事情,等于是提供了一个可靠的基础设施。那么理所当然我们可以把开源的知识应用到上面,比如开发或者移植应用,或者干脆部署一些好玩的东西。这在传统 NAS 上实现起来很困难,甚至都没有包管理工具。

我们看一看开发懒猫应用,需要什么样的知识?

那么,开发懒猫微服的应用需要掌握哪些技能呢?

NPM

懒猫微服的 CLI 本质上是一个通过 NPM 全局安装的工具包,因此掌握一些基本的 NPM 使用方法是必要的。

1
npm install -g @lazycatcloud/lzc-cli
阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×