当前位置: 首页 > news >正文

用cms创建自己带数据库的网站网上超市

用cms创建自己带数据库的网站,网上超市,建设网站增城,网站的建设原始代码文章目录 一、关于 SvixClient Library Overview与 Svix 托管服务的区别 二、运行服务器1、部署1.1 Docker1) 使用 Docker Compose2) 独立容器 1.2 预编译的二进制文件1.3 从源代码构建 2、运行时依赖项3、Redis/Valkey 注意事项持久性 Eviction 政策4、服务器配置4.1 配置文件… 文章目录 一、关于 SvixClient Library Overview与 Svix 托管服务的区别 二、运行服务器1、部署1.1 Docker1) 使用 Docker Compose2) 独立容器 1.2 预编译的二进制文件1.3 从源代码构建 2、运行时依赖项3、Redis/Valkey 注意事项持久性 Eviction 政策4、服务器配置4.1 配置文件4.2 环境变量或.env4.3 OpenTelemetry4.4 连接池大小4.5 SSRF 攻击和内部 IP 地址4.6 Webhook 签名方案对称与非对称 5、验证使用不同的签名算法 6、操作传入webhook7、非对称签名配置按键签名方案 8、关闭服务器 一、关于 Svix github : https://github.com/svix/svix-webhooks/官网https://svix.com/文档 : https://docs.svix.com/API : https://api.svix.com社区 Slack : https://svix.com/slack | 论坛https://github.com/svix/svix-webhooks/discussions Svix 让开发人员可以轻松发送 webhook。开发人员只需进行一次 API 调用Svix 便会负责交付能力、重试、安全性等。有关更多信息请参阅Svix 主页。 要及时了解新功能和改进请务必关注 repo : https://github.com/svix/svix-webhooks/ Client Library Overview ⚡️ Feature Breakdown ⚡️LanguageOfficially SupportedAPI SupportWebhook VerificationOther NotesGo✅✅✅Python✅✅✅Typescript/Javascript✅✅✅Java✅✅✅Async support planned. (If you use kotlin, checkout our kotlin library for coroutine support.)Kotlin✅✅✅Ruby✅✅✅C# (dotnet)✅✅✅Rust✅✅✅PHP✅✅ 与 Svix 托管服务的区别 我们开源 Svix 调度程序的主要目标之一是易于使用。然而由于我们的规模和所需的基础设施托管的 Svix 服务相当复杂。这种复杂性对绝大多数人来说没有用处会使这个项目更难使用限制也更多。这就是为什么在发布之前调整了此代码并且托管调度程序支持的一些功能、优化和行为尚未在此存储库中提供。话虽如此除了一些已知的不兼容性之外内部 Svix 测试套件已通过。这意味着它们已经基本兼容我们正在努力使它们达到完全功能对等。 二、运行服务器 有多种方法可以启动 Svix 服务器。Docker 可能是最常见的方法但你可以选择最适合你的方法。 Svix 服务器是用 Rust 编写的这意味着您可以将其编译为各种目标的静态库。有关更多信息请参阅下面的从源代码构建部分。 有关可用设置的更多信息请参阅下面的服务器配置部分。 1、部署 1.1 Docker 您可以使用Docker Hub中的官方 Svix Docker 镜像https://hub.docker.com/r/svix/svix-server 您也可以使用 latest 标签或者使用 the versioned tags 之一。 您可以使用 docker compose 示例docker-compose.yml文件最简单、docker swarm高级或者独立运行容器。 1) 使用 Docker Compose 这个替代方案是最简单的因为它也将启动和redis配置postgresql。 假设您已经安装了 Docker Compose v2。 cd server docker compose up2) 独立容器 运行独立容器稍微高级一些因为它需要您设置一些环境变量并让它们指向您的redis和postgres实例。 您可以使用标志将各个环境变量传递给 docker -e或者只需创建一个文件如development.env 并像以下示例一样使用 --env-file 标志 docker run \--name svix-server \-p 8071:8071 \--env-file development.env \svix/svix-server1.2 预编译的二进制文件 已发布版本的预编译二进制文件可在发布部分中找到。 https://github.com/svix/svix-webhooks/releases 1.3 从源代码构建 Svix 服务器用 Rust 编写需要 Rust 构建环境。 如果您已经有一个那么您只需要运行cargo build否则请参阅Svix 服务器 README以获取有关从源代码构建服务器的更多信息。 2、运行时依赖项 服务器需要以下运行时依赖项才能正常工作 PostgreSQL 服务器 - 用于存储事件。可选的 Redis 服务器 6.2.0 版本 或更高 - 用于任务队列和缓存。 3、Redis/Valkey 注意事项 持久性 请注意建议在 Redis 中启用持久性以便在 Redis 服务器重启和升级后保留任务。 Eviction 政策 请确保您的 Redis 实例配置为 不逐出 未明确设置 expire 策略的密钥。这意味着maxmemory-policy应设置为noeviction或任何可用volatile-策略。有关更多信息请参阅 Redis/Valkey 文档。 4、服务器配置 有三种配置方式svix-server环境变量.env文件和配置文件。 4.1 配置文件 您可以将一个名为的文件config.toml放在当前工作目录中svix-server它会自动选择该文件。您可以查看示例文件以获取更多信息和受支持设置的完整列表config.toml。 以下是最重要的配置的简单示例 # The JWT secret for authentication - should be secret and securely generated jwt_secret 8KjzRXrKkd9YFcNyqLSIY8JwiaCeRc6WK4UkMnSW# The DSN for the database. Only postgres is currently supported. db_dsn postgresql://postgres:postgrespgbouncer/postgres# The DSN for redis (can be left empty if not using redis) redis_dsn redis://redis:6379# What kind of message queue to use. queue_type redis4.2 环境变量或.env 或者您可以svix-server通过为每个支持的设置设置等效的环境变量来进行配置。环境变量可以直接传递也可以通过在文件中设置它们来传递.env。 环境变量的名称 name 与配置名称相同但都是大写并以 为前缀SVIX_。 例如如果在环境中传递上述示例配置它将如下所示 # The JWT secret for authentication - should be secret and securely generated SVIX_JWT_SECRET 8KjzRXrKkd9YFcNyqLSIY8JwiaCeRc6WK4UkMnSW# The DSN for the database. Only postgres is currently supported. SVIX_DB_DSN postgresql://postgres:postgrespgbouncer/postgres# The DSN for redis (can be left empty if not using redis) SVIX_REDIS_DSN redis://redis:6379# What kind of message queue to use. SVIX_QUEUE_TYPE redis4.3 OpenTelemetry 您可以将跟踪信息发送到 OpenTelemetry Collector它允许将跟踪事件转发到许多外部应用程序/服务例如 DataDog、Jaeger、NewRelic、Prometheus、Sentry、Signoz 和 Zipkin。 您可以在这些说明中看到更多内容。 4.4 连接池大小 有两个配置变量db_pool_max_size和redis_pool_max_size分别控制 PostgreSQL 和 Redis 的连接池允许的最大大小。 它们默认的最大大小为 20但如果您的数据库可以处理则更高的值可以显著提高性能。 4.5 SSRF 攻击和内部 IP 地址 为了防止 SSRF 攻击默认情况下会阻止向内部 IP 地址发送消息。 但是我们知道这不能满足每个用户的需求例如服务只能在内部访问。要绕过这些限制请参阅配置选项whitelist_subnets它接受 CIDR 符号子网数组以允许向其发送消息。 4.6 Webhook 签名方案对称与非对称 为了确保消息的安全性和完整性Svix 在发送之前会对所有 webhook 消息进行签名。Svix 支持两种类型的签名方案对称预共享密钥和非对称公钥。 对称签名的速度明显更快签名速度快约 50 倍验证速度快约 160 倍而且更简单这让您的客户更容易验证但它们需要每个端点使用预共享密钥端点机密才能工作。另一方面非对称签名只需要与您的客户共享公钥不是机密。 鉴于上述情况建议使用对称密钥这也是 Svix 的默认设置。它们的使用已记录在文档的验证签名部分中。 但是在某些情况下使用非对称签名可能会有所帮助这就是为什么它们也受到支持的原因。有关更多信息请参阅下面的非对称签名部分。 5、验证 使用正确的机密生成的有效 JWT 作为Bearer。 例如 Authorization: Bearer JWT_TOKEN_HERE使用以下方式生成一个 svix-server jwt generate或者如果您正在生成自己的请确保用作org_23rb8YdGqMT0qIzpgGwdXfHirMu字段sub并H256用作算法。 机密的有效 JWT 示例x以便您可以看到结构 // JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2NTUxNDA2MzksImV4cCI6MTk3MDUwMDYzOSwibmJmIjoxNjU1MTQwNjM5LCJpc3MiOiJzdml4LXNlcnZlciIsInN1YiI6Im9yZ18yM3JiOFlkR3FNVDBxSXpwZ0d3ZFhmSGlyTXUifQ.USMuIPrqsZTSj3kyWupCzJO9eyQioBzh5alGlvRbrbA // Structure (when decoded): {iat: 1655140639,exp: 1970500639,nbf: 1655140639,iss: svix-server,sub: org_23rb8YdGqMT0qIzpgGwdXfHirMu }使用不同的签名算法 如上所述签署 JWT 的默认算法是。您可以通过将配置设置为以下支持的值之一来HS256选择其他算法 、、、、或。jwt_algorithmHS384HS512RS256RS384RS512EdDSA 6、操作传入webhook 操作性 webhook 是您可以订阅的 webhook以便收到 svix-server 上发生的重要事件的通知。支持的事件列表可在API 参考的 webhook 部分中找到。 操作 webhook 使用 Svix并由具有以下 ID 的特殊帐户服务帐户控制org_00000000000SvixManagement00。 第一步是通过设置配置operational_webhook_address以指向您的 Svix 服务器来启用它。此设置的最常见值是http://127.0.0.1:8071但根据您的具体设置它可能有所不同。 上述步骤在此实例上启用了操作 webhook下一步是为您的特定组织启用它。如上所述操作 webhook 在后台使用普通的 Svix 帐户因此我们首先需要获取此帐户的身份验证令牌。为此您应该运行 svix-server jwt generate org_00000000000SvixManagement00这将为您提供一个特殊的 JWT 来访问操作 webhook 帐户这与您与 Svix 交互时使用的普通 JWT 不同。例如我们假设它返回的 JWT 是op_webhook_token_123。 要为特定帐户启用操作 webhook我们需要首先在服务帐户中为其创建一个应用程序请记住操作 webhook 只是在后台使用 Svix。我们将使用默认的 Svix 帐户作为示例org_23rb8YdGqMT0qIzpgGwdXfHirMu。 curl -X POST \http://localhost:8071/api/v1/app/ \-H Authorization: Bearer op_webhook_token_123 \-H Accept: application/json \-H Content-Type: application/json \-d {name: Operational webhook for default org,uid: org_23rb8YdGqMT0qIzpgGwdXfHirMu}就是这样我们现在已为默认帐户启用了操作 webhook。剩下唯一要做的就是添加将操作 webhook 发送到的端点。例如 curl -X POST \https://api.eu.svix.com/api/v1/app/org_23rb8YdGqMT0qIzpgGwdXfHirMu/endpoint/ \-H Authorization: Bearer AUTH_TOKEN \-H Accept: application/json \-H Content-Type: application/json \-d {url: https://operational-webhook-destination.com/webhook/,filterTypes: [“endpoint.updated”,“endpoint.deleted”],}请注意在创建端点时我们如何使用默认帐户的组织 ID 作为app_id或者更确切地说在这种情况下。uid 就是这样。您现在应该有可用的操作 webhook。如果您想创建新端点或修改现有端点只需为服务帐户生成 JWT然后像使用任何其他 Svix 帐户一样使用该 JWT。 7、非对称签名 如上所述建议使用对称签名。但是如果您确定需要非对称签名请阅读以下有关设置非对称签名的说明。 配置按键 默认情况下Svix 服务器会为端点生成对称密钥这意味着消息将使用对称密钥进行签名。要更改此默认设置请将配置设置default_signature_type为ed25519如下 default_signature_type ed25519此外无论默认值设置为多少您仍然可以通过在端点上明确设置密钥来覆盖它。 要设置对称密钥请将端点密钥设置为以 为前缀的密钥whsec_例如whsec_51TKyHBy5KFY1Ab98GQ8V60BkWnejkWy。 要设置非对称密钥请将端点密钥设置为以 为前缀的有效ed25519 base64 编码私钥whsk_例如 whsk_6Xb/dCcHpPea21PS1N9VY/NZW723CEc77N4rJCubMbfVKIDij2HKpMKkioLlX0dRqSKJp4AJ6p9lMicMFs6Kvg。 请注意预期的私钥结构是whsk_${base64(private_key public_key)}。 为了测试目的可以使用以下命令生成新的非对称密钥对 $ svix-server asymmetric-key generateSecret key: whsk_6Xb/dCcHpPea21PS1N9VY/NZW723CEc77N4rJCubMbfVKIDij2HKpMKkioLlX0dRqSKJp4AJ6p9lMicMFs6Kvg Public key: whpk_1SiA4o9hyqTCpIqC5V9HUakiiaeACeqfZTInDBbOir4签名方案 Svix 用于ed25519(m)签署 webhook 消息其构造m方式与对称签名相同。 当验证消息时您还应确保时间戳足够新以限制重放攻击的可能性如对称验证文档中所述。 8、关闭服务器 为了支持服务器的正常关机所有正在运行的任务都会在 SIGINT/SIGTERM 信号关闭之前完成。这通常需要不到十秒钟的时间。 2024-05-24五
http://www.zqtcl.cn/news/452111/

相关文章:

  • 网站的网络推广方案营销型网站建设论文
  • 苏州做网站便宜的公司哪家好门店管理系统app
  • 学校多语言网站建设网络维护网站建设培训
  • Wordpress外贸网站搭建公司建站系统的应用场景
  • 网站推广网络推广方wordpress汉语公益
  • 长沙做网站的公司有哪些宁波奉化建设局网站
  • 温岭专业自适应网站建设承德招聘信息网
  • 做公司网站的模板下载wordpress e
  • 网站建设基本知识wordpress 没有小工具
  • 北京完美建设有限公司网站酒店加盟
  • 山东网络推广网站德州市建设局质监站网站
  • api模式网站开发网站打开后显示建设中
  • 排名好的郑州网站建设免费营销培训
  • 美橙互联网站网站主要应用
  • 淘宝客网站做appuv推广平台
  • 网站公司可以做英文网吗图片加字制作免费
  • 海口个人建站模板精品课程云网站建设
  • 阿里网站空间莱芜新闻视频回放
  • 高清网站建设的好处wordpress 房产模板
  • 在建工程查询网站怎么自己开发网站
  • 旧电脑怎么做网站如何自己弄个免费网站
  • 聊城网站营销WordPress工作发布
  • 建造网站需要什么汽车网站建设
  • 网站建设app郑州发布评论
  • 福州网站制作建设网页设计图片是怎么显示的
  • 天津通用网站建设收费网站建设怎么在png上写文字
  • 浏阳做网站报价高校网站站群建设公司
  • 海口网站提升排名网站建设与管理考试题
  • 做网站的算什么行业ui视觉设计常用软件是什么
  • 成都网站建设公司哪家好西安搬家公司哪家便宜