问题列表 - 第5195页

如何在不停机的情况下迁移到 Google 托管证书?

我正在将 example.com 从外部(非 Google)托管提供商迁移到 GCP。

设置负载均衡器时,我注意到我必须将 example.com 指向负载均衡器才能验证 Google 托管证书。

我应该将 example.com 的 A 记录更改为新负载均衡器的(静态)IP - 然后它将验证。

问题是,我已经有大量流向 example.com 的流量,在 example.com 开始指向负载均衡器之后、但在验证证书之前发生的请求将生成 SSL 错误,并使用户非常不满意。

有人解决这个问题了吗?我知道有一些方法可以避免轮换证书时出现停机,但是一定有某种方法可以在不停机的情况下迁移大型站点吗?

load-balancing ssl-certificate google-compute-engine google-cloud-platform

7
推荐指数
1
解决办法
2902
查看次数

网络定价在云平台中到底如何运作?我应该如何避免专门的定价攻击?

我对云平台基础设施还很陌生。为了讨论简单起见,假设我讨论的唯一两个平台是 AWS 和 Google Cloud。

现在假设我有一个 HTTP 服务器,主要通过在线游戏的开放 API 处理 HTTP 响应。假设平均响应大小为 10KB,每天将发送大约一百万个响应。

根据我的理解,每月的价格取决于以 GB 为单位传输的数据量。现在我的问题是,如果有人编写一个脚本不断从我的服务器反复获取响应,那么价格就会飞涨。

我确信任何好的服务器都会避免这个问题,但我不确定到底是如何避免这个问题的。根据我的观察,许多现实生活中的大型在线游戏 API 服务器在响应大小仅为几 KB 时并没有优化其响应大小。一定会发生某种“每月固定付款或根据每秒传输的数据量付款”的情况,而不取决于传输的数据量。

然而,我只是在平台网站上找不到此类选项的任何参考。

任何帮助,将不胜感激。

cloud amazon-web-services google-cloud-platform

5
推荐指数
1
解决办法
965
查看次数

不应阻止哪些 ICMP 类型 (v4/v6)?

我对此进行了大量研究,发现一些参考文献相互矛盾。

IPV6 例如,RFC4890表示应允许使用以下类型以获得最佳功能:

类型 1、2、3、4、128、129,以及用于行动辅助的 144、145、146 和 147。

然而,该消息来源并未提及需要移动辅助:(类型 1 和 4 也被省略)

128、129、2、3 型以及 NDP 和 SLAAC 133、134、135、136 和 137

另一方面,前参考文献说 NDP 和 SLAAC 不需要特别关注,因为无论如何它们都会被删除。那么谁是对的呢?为了安全起见,最好允许两个消息来源提到的所有这些吗?

IPV4: 令人惊讶的是,该参考文献没有对 IPv4 提出任何建议,但另一个来源表示 IPv4 需要类型 8、0、3 和 11。是否有任何官方参考建议应允许哪些 IPv4 ICMP?

更新: 虽然答案很好,但我发现它太笼统,无法接受它作为真正的解决方案。如果阻止不是解决办法,那么速率限制必须是提供一定程度保护的正确方法。我相信使用正确的代码示例给出的答案会更让人放心。

internet iptables ipv6 rfc ipv4

6
推荐指数
1
解决办法
1600
查看次数

解组自定义编组对象和类 {45FB4600-E6E8-4928-B25E-50476FF79425} 时执行了解组策略检查

我定期在 Azure Windows 10 应用程序事件日志中收到以下错误消息:

An unmarshaling policy check was performed when unmarshaling a custom marshaled object and the class {45FB4600-E6E8-4928-B25E-50476FF79425} was rejected
Run Code Online (Sandbox Code Playgroud)

Windows 版本是 21H1 OS Build 19043.1387。

我在MSDN 论坛上看到了 2013 年 12 月 13 日的相同报告,但此后没有解决方案。

这是报告的 XML 视图。

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-COMRuntime" Guid="{bf406804-6afa-46e7-8a48-6c357e1d6d61}" EventSourceName="COM" /> 
  <EventID Qualifiers="0">10031</EventID> 
  <Version>0</Version> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x8080000000000000</Keywords> 
  <TimeCreated SystemTime="2021-11-29T12:34:18.1932644Z" /> 
  <EventRecordID>27780</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="5708" ThreadID="1852" /> 
  <Channel>Application</Channel> 
  <Computer>hw2.masiutin.com</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>{45FB4600-E6E8-4928-B25E-50476FF79425}</Data> 
  </EventData>
  </Event>
Run Code Online (Sandbox Code Playgroud)

如何解决此问题和/或防止此错误出现在日志中?

windows windows-event-log eventviewer azure

5
推荐指数
1
解决办法
2万
查看次数

仍然困惑为什么当你让一个进程监听 0.0.0.0 而不是 127.0.0.1 时 docker 可以工作

const hostname = '0.0.0.0'; // << This is where I'm confused
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
Run Code Online (Sandbox Code Playgroud)

当我对这个应用程序进行 dockerize 并在容器中运行它时,主机名 0.0.0.0 可以工作,但 127.0.0.1 不起作用。我理解原因是因为 docker 容器几乎都有自己的 IP。

因此,当我构建并运行容器时,将主机名变量设置为 127.0.0.1,然后在浏览器上访问 127.0.0.1,我没有连接到容器的 IP 地址,而是连接到我的本地计算机。

但是为什么当我在 0.0.0.0 上运行容器化应用程序并在浏览器上访问 127.0.0.1 时,它现在连接到容器而不是我的本地计算机?

谢谢。

networking docker

5
推荐指数
1
解决办法
5480
查看次数

从大文件开头删除文本的最佳方法

我有一个巨大的 MySQL 备份文件(来自 mysqldump),其中的表按字母顺序排列。我的恢复失败,我想从备份文件中的下一个表开始。(我已经纠正了这个问题,这实际上并不是一个关于 MySQL 恢复等的问题。)

我想做的是获取我的备份文件,例如backup.sql并修剪文件的开头,直到看到这一行:

-- Table structure for `mytable`
Run Code Online (Sandbox Code Playgroud)

然后之后的所有内容都将最终出现在我的结果文件中,例如backup-secondhalf.sql. 由于文件是 bzip2 压缩的,这有点复杂,但这应该不是什么大问题。

我想我可以这样做:

$ bunzip2 -c backup.sql.bz2 | grep --text --byte-offset --only-matching -e '--Table structure for table `mytable`' -m 1
Run Code Online (Sandbox Code Playgroud)

这将为我提供文件中我想要修剪的字节偏移。然后:

$ bunzip2 -c backup.sql.bz2 | dd skip=[number from above] | bzip2 -c > backup-secondhalf.sql.bz2
Run Code Online (Sandbox Code Playgroud)

不幸的是,这需要我在文件上运行 Bunzip2 两次并读取所有这些字节两次。

有没有办法一次性完成这一切?

我不确定我的 sed-fu 是否足够强大来执行“删除正则表达式之前的所有行,然后让文件的其余部分通过”表达式。

这是在 Debian Linux 上,所以我有可用的 GNU 工具。

text grep dd sed

5
推荐指数
2
解决办法
843
查看次数

在 ssh 配置中传递密码

有什么方法可以使用 传递密码.ssh/config吗?我正在尝试设置一种以特定用户登录服务器的方法,然后在连接时自动切换到root(需要输入密码)。

现在,我有:

Host server
 HostName hostname.server.com
 User not-root
 Port 1234
 RemoteCommand su
Run Code Online (Sandbox Code Playgroud)
  • 我必须使用这些步骤(用户 - > su)
  • 我必须使用这个密钥(带有密码)

ssh ssh-agent

11
推荐指数
1
解决办法
8万
查看次数

从 06:05 到 22:05 每 15 分钟启动一次 cron 作业

我需要每 15 分钟运行一次 cron 作业,从 06:05 开始到 22:05 结束。

0 5/15 6-22 * * *
Run Code Online (Sandbox Code Playgroud)

以下语法包括 22:35 和 22:50。

知道如何实现这一目标吗?是否可以用一根线实现这一点,还是需要配置多条线?

cron

2
推荐指数
1
解决办法
1万
查看次数

通过 ssh 登录 Synology NAS 时用户目录不存在

在配备 DSM 7.0 的 Synology NAS 上,我通过图形 UI 创建了一个专用管理员用户(按照 Synology 设置程序中的建议),然后我启用了 ssh 登录,现在我可以 ssh 进入 Synology。到目前为止,一切都很好。但是,当通过 ssh 登录时,在出现提示之前我收到一条奇怪的消息:

Could not chdir to home directory /var/services/homes/<my-admin-user>: No such file or directory
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种情况?是否我的 NAS 的 DSM 7 操作系统配置不正确?

我该如何解决它?我只创建用户的主目录吗?

附加信息

该路径/var/services/homes存在,但它是一个/volume1/@fake_home_link不存在的符号链接。

ssh home-directory synology dsm administrative-privileges

5
推荐指数
1
解决办法
2094
查看次数

NAT 是否会留下内部来源的痕迹?

我想知道当数据包离开 NAT 时是否会留下原始来源的痕迹。

\n

让\xe2\x80\x99s 说我从我的机器向公共服务器发出一系列 DNS 请求。I\xe2\x80\x99m 在 NAT 后面。服务器能否以某种方式看到这些请求来自同一台机器?例如,当 NAT\xe2\x80\x99 来自同一台计算机时,NAT 是否会重用源端口?

\n

domain-name-system nat

0
推荐指数
1
解决办法
55
查看次数