小编fun*_*der的帖子

Apache:仅在尚未设置时才设置全局标头

我在这里遇到了一些烦人的情况。

我有一台由 plesk 管理的服务器。在 /etc/apache2/apache2.conf 中,会发生基于 mod_headers 和 mod_expires 的配置。例如:

<filesMatch "\.(jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=604800, public"
</filesMatch>
Run Code Online (Sandbox Code Playgroud)

这工作得很好。

我的某些应用程序有问题。如果需要,我希望应用程序保持对缓存的控制。目前这是不可能的,因为标头设置在将响应返回给客户端之前立即发生,这意味着在应用程序完成所有操作之后。应用程序设置的标头将被覆盖。

Header merge Cache-Controll...
Run Code Online (Sandbox Code Playgroud)

不工作,因为它只是附加给定的标题字符串。而且我怀疑浏览器是否会像我希望的那样处理这样的标题:

Cache-Control max-age=0, no-cache, no-store, must-revalidate, max-age=604800, public
Run Code Online (Sandbox Code Playgroud)

我现在的问题是:是否有可能仅在特定标题“字段”中绝对没有内容时才设置标题?我不希望我的应用程序设置任何环境变量,因为不应更改应用程序以满足一台服务器的需求。

我还尝试过 - 仅用于测试目的 - 通过 vhost.conf 为特定域取消设置标头。但是它会在 apache2.conf 中的头设置之前执行,这意味着它们也会被覆盖。

conditional apache-2.2

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

如何允许 postfix 解析带有百分号的收件人地址?

我正在将邮件发送到 Postfix 邮件服务器。

  • 那封邮件的地址如下else%2bsomething@domain.com:(它基本上是 的 url 编码版本else+something@domain.com,它应该是 RFC 有效的。)
  • 发件人的邮件服务器被告知处理此消息: NOQUEUE: reject: RCPT from randostring.outbound.protection.outlook.com[...]: 454 4.7.1 <else%2bsomething@domain.com>: Relay access denied; from=<john.doe@live.com> to=<else%2bsomething@domain.com> proto=ESMTP helo=<morerando.outbound.protection.outlook.com>
  • 日志告诉我:generic_checks: name=defer_unauth_destination status=2,我认为这是这里的问题。
  • 我对 进行了 MySQL 查找,在$virtual_alias_domains创建上述日志消息期间不会对其进行查询。我认为它可能会被缓存一段时间,但我在这里可能完全错了。

我尝试过的:

  • 禁用/启用allow_percent_hack看看是否是这个原因,我被拒绝了。任何设置都没有任何变化。
  • 试图将 更改recipient_delimiter为 '%',这并没有改变任何东西。

我的问题:如何强制 postfix 发送此电子邮件?我真的不需要永久的解决方案,因为我认为这是一个边缘情况。

加分项,如果你能向我解释为什么没有收到这封电子邮件,因为我真的很想知道为什么会这样。:)


编辑#1:

我发现工作和非工作消息的标志不同。

  • 传递的消息: Flag: 1024
  • 未送达消息: Flag: 1026

通过查看源代码中的不同位置(标志定义: https : //github.com/vdukhovni/postfix/blob/bfff4380a3b6fac2513c73531ee3a79212c08660/postfix/src/global/resolve_clnt.h#L36 usage- L37github.com/vdukhovni/postfix/blob/ed3f86da7c3e15cf1ec57241c1f6036d82b790da/postfix/src/trivial-rewrite/resolve.c#L467-L468),我发现,那只要还有另外一个@!或者%在电子邮件地址,它套一个routed标志,稍后处理。

我还没有发现的是,我怎么能 …

postfix

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

后缀主机名的 SPF 记录,而不是每个发送域

我有一个可以通过server.com它访问的服务器,它有一个使用 hostname 运行的 postfix 邮件服务器gaia.server.com。因为反向 DNS 仅用于邮件目的(afaik),所以我将服务器 ip 的反向 DNS 条目更改1.2.3.4gaia.server.com,这完全正常。

我将此插入到我的域 DNS 服务器的 TXT 条目中: v=spf1 mx ip4:1.2.3.4 -all

这个记录是由这个工具创建的。

现在我想从email1@server.comor发送电子邮件email2@different-domain.com,它是指向与server.com.

现在我使用http://www.brandonchecketts.com/emailtest.php来测试这个配置。它给了我gaia.server.comasHelo Addressemail1@server.comas From Address。但随后它会查找From Address域的 SPF 记录server.com

如果我错了,请纠正我,但我认为它会查找邮件服务器 ip,将其反转为主机名,然后检查该主机名的 SPF。还是我错了,反向检查只是垃圾邮件检查的另一部分?

我的问题是:我需要如何配置以及配置什么才能使 SPF 记录适用于该服务器发送的所有域。如果可能的话,我不想在每个域中都放置一个硬编码的 IP 地址。对于这种情况,最佳做法是什么?

感谢您提前阅读和帮助:)

email-server domain spf

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

标签 统计

apache-2.2 ×1

conditional ×1

domain ×1

email-server ×1

postfix ×1

spf ×1