如何根据收件人地址将(或代理)邮件转发到不同的 smtp 服务器?
我有一台带有 SMTP(后缀)服务器侦听端口 25 的机器。我想使用 Lamson(http://lamsonproject.org/)来处理一些传入的邮件和一些我想让 postfix 来处理的邮件。
我的想法是设置 Lamson 以侦听不同的端口,假设 localhost:10025。然后我设置 postfix 通过侦听端口 25 来捕获所有邮件。
如何配置 Postfix 以将某些邮件代理到 10025 上的 Lamson 并自行处理所有其他邮件?
我不确定这个问题是否最适合在 ServerFault 上或在 SuperUser 上。从逻辑上考虑,我认为这是一个系统管理员问题,所以我把它放在这里,如果模组认为它应该移动,那么为猜错道歉!
无论如何 - 我有一个异地服务器,我被困在一个私有 IP 上,除了通过 HTTP 代理或 SOCKS 4/5 代理之外无法访问网络。我正在运行 OS X,我希望来自终端的 ssh 命令以某种方式通过这两个代理之一工作以到达远程服务器。远程服务器上的 SSH 端口是非标准的,但我怀疑这会有很大的不同。
我正在通过 Nginx 服务器将请求转发到本地服务。我现在尝试完成的是回退到本地错误页面,以防服务不可用。
我目前的配置是
server {
listen 80;
server_name "";
location / {
proxy_pass http://127.0.0.1:9080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 1;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504 http_404;
proxy_intercept_errors on;
}
error_page 501 502 503 @maintenance;
location @maintenance {
root /locust/www/fallback/htdocs;
index index.html index.htm;
}
}
Run Code Online (Sandbox Code Playgroud)
代理可以工作,但是一旦我在 9080 上设置服务不可用,我的维护位置的 index.html 就不会显示。
关于此配置有什么问题的任何建议?
我有一个域控制器网络(Windows Server 2008 R2,在 2003 森林/域级别上运行),客户端当前正在从 WinXP Pro 迁移到 Win7 Pro。
我需要控制 Internet Explorer 的代理设置:我建立了一个适用于 Windows XP + Internet Explorer 7 & 8,但不适用于 Windows 7 + Internet Explorer 10 & 11 的策略
这是有道理的,因为您必须使用策略首选项而不是管理模板来设置代理
但是,当我转到“首选项”并尝试选择“新建”时,我只能选择 5 和 6、7 和 8。

(来源:technet.com)
我希望还有 IE9 和 IE10(我知道IE11 使用 IE10 设置)

我尝试使用 IE8 策略应用代理设置,这在 XP 客户端上运行良好,但在 7 个客户端上运行良好:代理设置为空。
我有一个有效的中央 ADMX 存储 (\[FQDN]\SYSVOL[FQDN]\Policies\PolicyDefinitions),我首先复制了一组 Windows 2008 R2 + IE 10 策略,然后复制了一组 Windows 2012 R2 + IE 11 政策。
以防万一这是本地服务器问题,我备份然后将 …
如果后端服务器关闭,我需要 nginx 代理使用缓存:
这是我的配置。但似乎是 nginx 使用缓存而不检查后端服务器。
http {
# ...
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_path /tmp/nginx levels=1:2 keys_zone=tmpzone:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
server {
server_name _;
location / {
proxy_connect_timeout 5s;
proxy_read_timeout 5s;
proxy_cache tmpzone;
proxy_cache_valid 200 304 1d;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host 'www.example.com';
proxy_pass http://www.example.com;
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,如果后端服务器已启动,我如何绕过代理缓存?当后端服务器启动时,我的代理服务器根本不使用缓存。
Squid'd 默认是作为 HTTP 代理运行;但是,此常见问题解答https://docstore.mik.ua/squid/FAQ-4.html#ss4.10说“将 Squid 与 socks5 一起使用无需更改。只需将通常的 -Dbind=SOCKSbind 等添加到编译行和 -lsocks 到链接行。”
这听起来很棒,除了我不知道基本语法之外我不会编写 c/c++ 代码,所以通常当我编译某些东西时,它是 ./configure 和 ./make。有时我必须修改 makefile 的编译行,但我不确定此处是否链接(尽管我了解链接的概念)。
通过“添加通常的 X 等”来准确解释要做什么也有点混乱,所以如果有人能在这里指出确切的步骤,这将是一个很大的帮助,因为它们似乎没有在任何地方详细说明。听起来并不难。
我已经为 HTTP 连接编译并正确运行了鱿鱼,但必须支持 SOCKS。
我有一个提供程序 (A),它想通过传入的 TCP 连接向我们发送数据。不幸的是,消费服务 (B) 无法接收入站 TCP 连接。此外,它没有静态 IP,这是另一个要求。
解决此问题的一种方法是将传入 TCP A 端口连接到另一个 TCP 端口 B 的服务,以便消费者可以与 B 建立出站连接。
这不是一个独特的问题[1] [2],使用 socat 我可以做出非常接近我想要的东西:
socat -d -d -d -u TCP4-LISTEN:PORT-A,reuseaddr TCP4-LISTEN:PORT-B,reuseaddr
但是,这存在以下问题:
TCP4-LISTEN:PORT-B,reuseaddr,fork,可以连接但不接收数据。PORT-B(可克服的)有没有办法调整命令,使其成为“永久”并抵抗失败?
这是我的问题的一些背景:
我尝试的解决方案是在具有静态 IP 的单独服务器上使用 Squid 将代理请求从 Heroku 转发到外部服务。这样,外部服务总是看到代理服务器的静态 IP,而不是 Heroku 服务的动态 IP。
由于我的代理服务器不能依赖 IP 地址进行身份验证(这就是开始的问题!),它必须依赖用户名和密码。此外,用户名和密码不能以明文传输,因为如果攻击者要拦截明文,那么他们可以冒充我连接到我的代理,使用我代理的静态 IP 发出出站请求,从而逃避外部Web 服务的防火墙。
因此,Squid 代理必须只接受通过 HTTPS 的连接,而不是 HTTP。(与外部 Web 服务的连接可能是 HTTP 或 HTTPS。)
我在 CentOS 6.5.x 上运行 Squid 3.1.10,这是我squid.conf目前的情况。仅出于故障排除目的,我暂时启用了 HTTP 和 HTTPS 代理,但我只想使用 HTTPS。
#
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
# Example …Run Code Online (Sandbox Code Playgroud) 我正在使用 haproxy 为在单个服务器上运行的多个应用程序直接路由。对于正在使用的域之一,有几十个子域应该指向少数应用程序之一。
目前,我在单独的一行中列出了所有这些子域。我的前端配置如下所示:
frontend http-in
bind *:80
acl alpha hdr(host) -i alpha.com
acl beta hdr(host) -i beta.com
acl gamma00 hdr(host) -i apple.gamma.com
acl gamma01 hdr(host) -i banana.gamma.com
acl gamma02 hdr(host) -i cherry.gamma.com
acl gamma03 hdr(host) -i durian.gamma.com
acl gamma04 hdr(host) -i elderberry.gamma.com
acl gamma05 hdr(host) -i fig.gamma.com
acl gamma06 hdr(host) -i grapefruit.gamma.com
acl gamma hdr(host) -i gamma.com
use_backend a if alpha
use_backend b if beta
use_backend sub1 if gamma00
use_backend sub1 if gamma01
use_backend sub1 if gamma02
use_backend sub2 …Run Code Online (Sandbox Code Playgroud) 使用 nginx http 指令,您可以在同一个端口上拥有多个具有不同名称的服务器:
server {
listen 80;
server_name server1.example.com;
location / {
proxy_pass http://server1.example.com;
}
}
server {
listen 80;
server_name server2.example.com;
location / {
proxy_pass http://server2.example.com;
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以像使用 http 一样在同一端口上使用不同名称的 nginx 代理多个 mysql 服务器?它们不是集群或任何东西的一部分。有不同的,不相关的表。
stream {
upstream db1.example.com {
server db1.example.com:3306;
#server_name db1.example.com; "server_name" directive is not allowed here
}
upstream db2.example.com {
server db2.example.com:3306;
}
server {
listen 3306;
proxy_pass db1.example.com;
}
#duplicate "3306" address and port pair
#server { listen 3306; proxy_pass db2.example.com; }
}
Run Code Online (Sandbox Code Playgroud)