小编all*_*llo的帖子

停止/启动 AWS EC2 实例时是否可以保留 IP 地址?

阅读Amazon 的文档,似乎 EC2 实例的默认行为是释放当前 IP 地址并在流程中的某个时刻重新分配一个新 IP 地址,具体取决于您使用的是 Classic 还是 VPC:

EC2-Classic:我们在您停止实例时释放实例的公有和私有 IPv4 地址,并在您重新启动实例时分配新的地址。

EC2-VPC:实例在停止和重新启动时保留其私有 IPv4 地址和任何 IPv6 地址。我们释放公共 IPv4 地址并在您重新启动时分配一个新地址。

在我的环境中,如果我能找到一种方法来保留 IP 地址,那就太好了。有谁知道用 EC2 实例做到这一点的方法吗?

amazon-ec2 amazon-web-services

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

为什么 postfix 默认改为非 chroot 进程?

随着compatibility_level = 2,最近后缀的版本,为后缀守护程序默认的chroot从改为非chroot环境。虽然该页面描述了它发生了变化以及您可以采取什么措施来继续使用 chroot 或停止使用它,但没有给出任何理由。

他们为什么要更改默认值?在没有 chroot 的情况下运行它有什么优势吗?

security postfix chroot

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

ansible 任务可以用作依赖项吗?

我目前有三个 ansible 任务:

  • 创建虚拟主机
  • 测试配置
  • 重新加载nginx

我现在将最后两个注册为处理程序,但是 ansible 的转发通知对我正在做的事情感觉不对:

  • 创建虚拟主机,通知测试配置(好的)
  • 测试配置,通知重新加载(为什么配置测试意味着重新加载)
  • 重新加载nginx

我想要一个像这样的结构:

  • 创建虚拟主机,通知 nginx 重新加载
  • nginx 重新加载:需要配置测试
  • 配置测试:成功
  • nginx重新加载

只是因为语义看起来更正确。它不应该只是一个序列,也不应该像配置测试那样通知重新加载,因为这只是再次实现一个序列而没有背后的逻辑(就像重新加载需要先进行测试一样)

ansible

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

memory_limit = -1 在 PHP.ini 文件中是什么意思?

我在一些 ubuntu 服务器配置中,发现我在服务器上的内存(网上资源说默认通常是 128Mb 正确?)

我发现这个列表

memory_limit = -1
Run Code Online (Sandbox Code Playgroud)

为什么?-1 的值有什么作用?Php 5.6

php ubuntu-16.04

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

域的后缀通配符别名

有没有办法为域名使用通配符,比如

webmaster@*
Run Code Online (Sandbox Code Playgroud)

域中地址的通配符可用于“@domain”,但“hostmaster@”不起作用。

使用 *@domain 通配符的当前设置:

主要.cf:

virtual_alias_maps = hash:/etc/postfix/virtual
Run Code Online (Sandbox Code Playgroud)

虚拟(用于 的通配符,用于 的domain一个邮件地址domain2):

domain anything
domain2 anything
@domain user@localhost
mail@domain2 user2@localhost
Run Code Online (Sandbox Code Playgroud)

现在我想为每个域都有一些标准地址,比如

webmaster@ user3@localhost
Run Code Online (Sandbox Code Playgroud)

但是这种语法不能以这种方式工作。一种选择是手动将地址添加到每个(非通配符)域,另一种选择可能是使用pcre虚拟表的映射。但是使用 pcre-table 作为别名似乎太不干净了,我想避免手动添加它们。

postfix

4
推荐指数
1
解决办法
7962
查看次数

对 PAM 使用更复杂的 AND/OR 结构

PAM 允许使用sufficentrequired用于某些逻辑,例如

auth sufficient pam_a.so
auth required pam_b.so
auth required pam_c.so
Run Code Online (Sandbox Code Playgroud)

这意味着“要么a为真,要么b必须为真,然后c必须为真”。

是否可以进行更复杂的操作?像“(a或b)和(c或d)”或“(a和b)或(c和d)”?可能还有更多的括号层。

authentication pam

4
推荐指数
1
解决办法
379
查看次数

如何将 postfix hash: databases 替换为 static: 或 inline:?

例如,替换后缀哈希数据库的语法是什么

domain.tld PREPEND my-header: foobar
Run Code Online (Sandbox Code Playgroud)

使用静态地图?

文档将其定义为Example: "inline:{ key=value, { key = text with whitespace or comma }}".

几种替换它的方法似乎不起作用,甚至不清楚 hash: db 到底有多少字段。域是唯一的键,其余的是字符串吗?与域关联的三个字段是否应该有一些列表语法?那么具有多个值的键(多行以哈希中的相同域开头:db)呢?

postfix sql database

3
推荐指数
1
解决办法
1733
查看次数

我可以使用 /etc/nginx/conf.d 添加位置吗?

我有一些 nginx 配置片段,它们添加了位置,即将请求发送到 fastcgi 服务器的某个路径。对于 ansible 的干净部署,我想使用/etc/nginx/conf.d文件夹将它们添加到那里。

问题是,location /something属于服务器块并且默认服务器已经在/etc/nginx/sites-enabled/default. 当我想部署更多不同的位置时,他们不应该为每个包含都需要一个自己的虚拟主机。

甚至一个站点sites-enabled可能很有用,但它仍然应该是可组合的。不同的片段可以包含在同一个配置中,而无需知道是否安装了其他片段。

有没有一种干净的方法可以在不修改默认配置的情况下从配置片段中包含位置块?

nginx ansible

3
推荐指数
1
解决办法
3099
查看次数

如何禁用 debian jessie 中的“较新内核”警告?

Debian jessie 在每次安装时都会提示apt-get upgrade已安装更新的内核并需要重新启动。如何禁用此警告,因为我想在适合时重新启动并且我知道有更新的内核可用?

并且显示一个类似的对话框“您需要重新启动这些服务,因为库已更新”,该对话框一次又一次地重新显示,即使我已经决定“我想重新启动这三个服务,而另外两个服务不应重新启动”。重新启动”之前。

debian apt

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

IPv6 损坏,甚至无法 ping 自己的地址

我在一些 LXC 容器中破坏了 IPv6,奇怪的是,我什至无法 ping 接口上的地址。

$ ip -6 r
prefix::/112 dev eth0  proto kernel  metric 256
$ ip -6 a show dev eth0
69: eth0@if70: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 prefix::3/112 scope global tentative dadfailed 
   valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)

现在ping6 prefix::3失败了

64 bytes from localhost (::1): Destination unreachable: Address unreachable
Run Code Online (Sandbox Code Playgroud)

我尝试禁用防火墙(这不应该有任何影响,因为本地数据包不应命中 INPUT 链),但这并没有改变任何东西。

另一件奇怪的事情:接口没有获得链接本地地址。

操作系统是一个相当小的 debian jessie 安装。其他带有 debian jessie 安装的容器在 IPv6 上运行良好。

ipv6

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