有人可以解释一下吗?
我有一个 nginx 服务器块,其中包含以下代码片段:
location / {
try_files $uri $uri/ /index.html;
}
Run Code Online (Sandbox Code Playgroud)
基本上,我用它来提供 Angular SPA。它运作良好且很棒。
现在我想将Access-Control-Allow-Origin标头附加到响应中。所以我像这样改变了块:
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Max-Age' 1728000;
return 204;
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
}
try_files $uri $uri/ /index.html;
}
Run Code Online (Sandbox Code Playgroud)
现在,每当我访问时,http://<application>.com我都会获得该页面,并且能够导航到http://<application>.com/some-page. 但是如果我直接尝试访问http://<application>.com/some-page,我会得到 nginx 404。以前不是这样的。如果我注释掉if的声明GET,事情就会恢复正常。
为什么?这里的声明有什么区别if?
我正试图在零时间内在NodeJS中创建一个日期,例如2016-08-23T00:00:00.000Z.我尝试了以下代码:
var dateOnly = new Date(2016, 7, 23, 0, 0, 0, 0);
console.log(dateOnly);
Run Code Online (Sandbox Code Playgroud)
虽然我期望输出如上所述,但我得到了这个:
2016-08-22T18:30:00.000Z
Run Code Online (Sandbox Code Playgroud)
如何创建我想要的Date对象?
我下面的迈克·博斯托克的教程在这里创建一个气泡图......只是我用我自己的数据集,我使用D3 V4.我对d3很新,我理解v4中v4的变化很多.我将示例代码转换为v4时遇到问题.
例如,我在d3 v3中转换了这段代码:
var bubble = d3.layout.pack()
.sort(null)
.size([diameter, diameter])
.padding(1.5);
Run Code Online (Sandbox Code Playgroud)
至:
var bubble = d3.pack(dataset)
.size([diameter, diameter])
.padding(1.5);
Run Code Online (Sandbox Code Playgroud)
以上是正确的吗?我不确定,因为到目前为止我没有任何错误.
但是我在下面的代码中遇到错误:
var node = svg.selectAll(".node")
.data(
bubble.nodes(root)
.filter(function(d) {
return !d.children;
})
)
.enter()
.append("g")
.attr("class", "node")
.attr("transform", function(d) {
return "translate(" + d.x + "," + d.y + ")";
});
Run Code Online (Sandbox Code Playgroud)
用一个bubble.nodes is not a function.d3 v4中的等价物是什么?
我目前正在使用该jsonwebtokens包来生成带有 RSA 签名密钥的签名 JWT。我正在尝试了解如何迁移到Azure Key Vault。我可以做的一种方法是将私钥和公钥存储为 Vault Secrets。但我注意到还有一个 Vault Keys API,它可以在 Vault 中生成密钥并对我提供的数据进行签名。
我一直在尝试使用这个@azure/keyvault-keys包,这就是我得到的:
async signJsonWebToken(data: object, expiry: string): Promise<string> {
const headerB64 = this.base64url(JSON.stringify(this.keyHeader), 'binary');
const payloadB64 = this.base64url(this.getTokenData(data, expiry), 'utf8');
const payload = `${headerB64}.${payloadB64}`;
const key = await this.keyClient.getKey(this.KEY_NAME);
const cryptClient = new CryptographyClient(key, new DefaultAzureCredential());
const hash = crypto.createHash('sha256');
const digest = hash.update(payload).digest();
const signResult = await cryptClient.sign('RS256', digest);
const signResultB64 = this.base64url(signResult.result.toString(), 'utf8');
const result = `${payload}.${signResultB64}`;
this.logger.log('Key: ' + …Run Code Online (Sandbox Code Playgroud) 我有一个 GKE 集群并在其上部署了一些工作负载。我注意到的是,每当我这样做时kubectl get events --all-namespaces,我都看不到任何结果。kubectl describe deployment <name>也不显示任何事件。我很确定我的集群中确实发生了一些事情,因为我的所有工作负载都运行良好,而且 Stackdriver 能够完美地报告日志和 HPA 功能。但是我的活动部分是空的。为什么是这样?这是我必须在 GKE 中手动启用的功能吗?
google-cloud-platform kubernetes google-kubernetes-engine kubernetes-pod
我正在尝试将静态网站部署到使用官方 Nginx Ingress 控制器的 Kubernetes 集群。该网站的文件夹结构看起来有点像这样:
\n/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 about\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 casestudy\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data-and-analytics\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 workflow-automation\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 contact\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 font-awesome.min.css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 fonts\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 slick.eot\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 slick.svg\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 slick.ttf\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 slick.woff\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 footer.css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 layout.css\n...\nRun Code Online (Sandbox Code Playgroud)\n我的入口定义如下所示:
\n/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 about\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 casestudy\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 data-and-analytics\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 workflow-automation\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 contact\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 index.html\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 font-awesome.min.css\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 fonts\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 slick.eot\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 slick.svg\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 slick.ttf\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 …Run Code Online (Sandbox Code Playgroud) d3.js ×2
javascript ×2
kubernetes ×2
node.js ×2
angular ×1
azure ×1
date ×1
jwt ×1
nginx ×1
typescript ×1