AMP Packager 使用教程

AMP Packager 使用教程

amppackager Tool to improve AMP URLs via Signed Exchanges 项目地址: https://gitcode.com/gh_mirrors/am/amppackager

1. 项目介绍

AMP Packager 是一个用于改进 AMP 网址的工具,通过使用 Signed Exchanges(签名交换)来实现。它允许网络发布者在 AMP 搜索结果中显示原始网址。AMP Packager 通过创建包含 AMP 文档的签名 HTTP 交换(SXGs)来工作,这些文档使用与原始域关联的证书进行签名,最长有效期为 7 天。Google AMP Cache 将获取、缓存并提供这些 SXGs,类似于它对普通 AMP HTML 文档的处理方式。

2. 项目快速启动

2.1 环境准备

  • 安装 Go 版本 1.13 或更高版本。
  • 克隆 AMP Packager 项目:
git clone https://github.com/ampproject/amppackager.git my-amp-directory
cd my-amp-directory

2.2 构建项目

make build

2.3 配置文件

创建一个配置文件 amppkg.toml,示例如下:

LocalOnly = true
CertFile = 'path/to/fullchain.pem'
KeyFile = 'path/to/privkey.pem'
OCSPCache = '/tmp/amppkg-ocsp'

[[URLSet]]
[URLSet.Sign]
Domain = "amppackageexample.com"

2.4 启动服务

amppkg -development

如果配置文件不在当前工作目录,可以使用 -config 参数指定路径:

amppkg -config=/path/to/amppkg.toml

2.5 测试配置

运行 Chrome 并添加以下命令行参数:

alias chrome=[FULL PATH TO CHROME BINARY]
PATH_TO_FULLCHAIN_PEM=[FULL PATH TO fullchain.pem]
chrome --user-data-dir=/tmp/udd \
  --ignore-certificate-errors-spki-list=$(\
    openssl x509 -pubkey -noout -in $PATH_TO_FULLCHAIN_PEM | \
    openssl pkey -pubin -outform der | \
    openssl dgst -sha256 -binary | base64) \
  --enable-features=SignedHTTPExchange \
  'data:text/html,<a href="https://localhost:8080/priv/doc/https://amppackageexample.com/">click me'

打开 DevTools,检查 'Preserve log',点击链接并观察 URL 变化。

3. 应用案例和最佳实践

3.1 隐私保护预取

展示如何使用 SXGs 进行隐私保护预取:

go get -u github.com/ampproject/amppackager/cmd/amppkg_dl_sxg
amppkg_dl_sxg https://localhost:8080/priv/doc/https://amppackageexample.com/

3.2 生产环境部署

  • 不要传递 -development 标志给 amppkg,这会导致它提供 HTTP 而不是 HTTPS。
  • 不要将 amppkg 暴露给外部网络,保持它在内部网络中。
  • 配置 TLS 前端服务器以有条件地代理到 amppkg

4. 典型生态项目

  • AMP HTML: AMP Packager 主要用于处理 AMP HTML 文档,确保它们在搜索结果中显示正确的原始网址。
  • Google AMP Cache: 用于缓存和提供 AMP 文档,与 AMP Packager 协同工作。
  • Chrome 浏览器: 支持 Signed HTTP Exchanges,用于验证和显示 AMP 文档的原始网址。

amppackager Tool to improve AMP URLs via Signed Exchanges 项目地址: https://gitcode.com/gh_mirrors/am/amppackager

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周琰策Scott

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值