lua-resty-google-signature
GOOGLE 签名 V4 头部生成器
$ opm get aamarques/lua-resty-google-signature
lua-resty-google-signature
该库基于 Ludovic Vielle (lukkor) 在 https://github.com/jobteaser/lua-resty-aws 上的工作。它基本上是从他的仓库中分叉的,我将其从 AWS “翻译” 成了 GOOGLE 格式。这可以帮助人们更快地找到这种签名流程。
签名、算法等与签名 V4 (SigV4) 相同,GCS 可以直接使用它,但这里的目标是帮助人们使用 GCS 语法。
概述
该库使用 [Google 签名版本 4][goog4] 规范实现请求签名。这种签名方案用于 GCS 访问或 GCS 迁移。
GCS 文档
[goog4]: https://cloud.google.com/storage/docs/access-control/signed-urls
用法
该库使用 GCS 环境变量作为凭据来生成 [GCS 签名版本 4][goog4]。
export GCS_ACCESS_KEY=GOOGEXAMPLE
export GCS_SECRET_KEY=EXAMPLE_KEY
为了在你的 nginx 配置中访问这些变量,应该在 nginx.conf
文件中声明它们。
示例
worker_processes 1;
error_log stderr notice;
daemon off;
env GCS_ACCESS_KEY;
env GCS_SECRET_KEY;
events {
worker_connections 1024;
}
http {
include /usr/local/openresty/nginx/conf/mime.types;
variables_hash_max_size 1024;
real_ip_header X-Real-IP;
charset utf-8;
access_log /dev/stdout;
sendfile on;
keepalive_timeout 65;
lua_package_path "$prefix/resty_modules/lualib/?.lua;;";
lua_package_cpath "$prefix/resty_modules/lualib/?.so;;";
resolver 8.8.8.8;
server {
listen 8080;
set $gcs_host YOUR-BUCKET_NAME.storage.googleapis.com;
location / {
default_type application/octet-stream;
access_by_lua_block {
require("resty.google-signature").gcs_set_headers(ngx.var.gcs_host, ngx.var.uri)
}
proxy_pass https://$gcs_host;
}
}
}
如果你将这个模块安装到本地目录,你应该在 nginx.conf
文件中添加以下内容。 Openresty 本地安装
lua_package_path "$prefix/resty_modules/lualib/?.lua;;";
lua_package_cpath "$prefix/resty_modules/lualib/?.so;;";
resolver 8.8.8.8
用于防止 Docker 中的 DNS 解析问题。
注意: 不需要设置 <LOCATION>
或 `<SERVICE>。<LOCATION>
将自动设置为 auto
值,因为该参数是为了与 Amazon S3 保持兼容性。<SERVICE>
将自动设置为 storage
,因为我们将访问 GCP 资源。
例如,一个典型的凭据范围看起来像这样
20211025/auto/storage/goog4_request
贡献
查看 CONTRIBUTING.md 获取更多信息。
许可证
版权所有 2021 Antonio Marques (aamarques)
根据 Apache 许可证 2.0 版(“许可证”)许可使用; 除符合许可证的规定外,你不得使用此文件。 你可以在以下地址获取许可证副本
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律要求或书面同意,根据许可证分发的软件按“原样”分发,不附带任何明示或暗示的担保。 请参阅许可证以了解管理许可证下的权限和限制的具体语言。
作者
Antonio Marques
许可证
apache2
依赖项
版本
-
GOOGLE 签名 V4 头部生成器 2021-10-26 09:24:15