标签: proxy

Lighttpd 代理通过端口重定向

我真的刚刚开始使用 lighttpd,我不确定如何准确配置它。

我想获取流量并重定向到另一台服务器说“ http://localhost/url_a/ ”并将请求和响应重定向到“ http://other_server:8080/

另一个例子是“ http://localhost/url_b/ ”转到“ http://other_server:8081/url_b/

我到底应该研究什么来完成这个?

谢谢。

proxy lighttpd

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

NFSv4 通过 portforward

我想通过端口转发访问我的 NFSv4 服务器。大计划将是一个 NFSv4 服务器集群,在 localhost 上运行 HAProxy 进行负载平衡。但这现在并不重要。

在服务器上/etc/exports看起来像这样

/mnt/x  192.168.0.0/16(rw,sync,no_subtree_check,no_root_squash,fsid=1)
Run Code Online (Sandbox Code Playgroud)

我可以从我的客户端连接到 TCP 2049 上的服务器并像这样安装共享

mount -t nfs4 -o proto=tcp,port=2049 192.168.2.25:/mnt/x /mnt
Run Code Online (Sandbox Code Playgroud)

我通过过滤两台机器之间的所有其他通信来测试 NFVs4 对仅打开这个 TCP 端口感到满意。

所以我认为 NFS 运行良好。

但是当我将一个端口例如redir在客户端上转发到服务器时

redir --lport=3049 --cport=2049 --caddr=192.168.2.25
Run Code Online (Sandbox Code Playgroud)

并希望按如下方式安装它

mount -t nfs4 -o proto=tcp,port=3049 127.0.0.1:/mnt/x /mnt
Run Code Online (Sandbox Code Playgroud)

我明白了

mount.nfs4: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我想念什么?我在服务器日志中看不到任何相关信息。

更新: 我捕获了好的和坏的连接尝试,一开始它们是相同的,然后客户端发送一个

PUTROOTFH,GETFH,GETATTR
Run Code Online (Sandbox Code Playgroud)

命令。在好的情况下,服务器会响应

PUTROOTFH-NFS4_OK,GETFH-NFS4_OK,GETATTR-NFS4_OK
Run Code Online (Sandbox Code Playgroud)

在坏(转发)的情况下,它会响应

PUTROOTFH-NFS4_OK,GETFH-NFS4_OK,GETATTR-NFS4ERR_PERM
Run Code Online (Sandbox Code Playgroud)

这一点我将导出更改为

/mnt/x  0.0.0.0/0.0.0.0(rw,sync,no_subtree_check,no_root_squash,fsid=1)
Run Code Online (Sandbox Code Playgroud)

但错误是一样的。

在好的情况下,服务器日志是

rpc.mountd[1711]: nfsd_export: inbuf '0.0.0.0/0.0.0.0 /'
rpc.mountd[1711]: nfsd_export: found 0x12dfeb0 path /
rpc.mountd[1711]: nfsd_export: inbuf …
Run Code Online (Sandbox Code Playgroud)

proxy nfs port-forwarding haproxy nfs4

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

在 Nginx 中使用重定向而不是代理进行负载平衡

我想以一种非常规的方式使用 Nginx。我想在几台服务器之间进行负载平衡,而不是我想重定向到这些服务器的代理内容。

也就是说,如果一个请求进入我的 Nginx 服务器,它应该 302 重定向到另一台服务器,方法是从上游块或等效的块中随机选择一个。我什至不需要其他上游块功能,例如加权(但如果可能的话,让它们可用也无妨)。

现在,我有以下配置,它可以满足我的需要,但有点难看:

upstream boxes {
        server 127.0.0.1:46011;
        server 127.0.0.1:46012;
}

server {
        listen 46011;
        return 302 http://box11.example.com$request_uri;
}

server {
        listen 46012;
        return 302 http://box12.example.com$request_uri;
}

server {
        listen 80;
        server_name example.com;

        location / {
                proxy_pass http://boxes;
        }
}
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法来处理这种情况,而无需求助于我自己?

configuration nginx proxy load-balancing

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

代理服务器设置卡在 Server 2003 R2 for Windows 更新上

稍等片刻,听听。这将是一个漫长的过程。过去几个月,我们在非常特定的 Microsoft Server 2003 R2 机器上的更新遇到了问题。这个问题让我和我们的常驻服务器管理员感到困惑,因为我们无法弄清楚究竟是什么导致了问题。

以下是详细信息:

我们的网络: 该网络是一个中/小型组织,拥有大约 (500) 台计算机和 20 多台服务器。主要 DC 和关键服务都在 Server 2012 (r1) 上,而一些较旧的应用程序/服务在 2008 R2 上运行。此外,还有少量 Server 2003 R2 机器运行主要是遗留应用程序和服务,它们将在明年被替换或过时。

问题: 问题在于,在这几台 2003 R2 服务器中,其中三台表现出奇怪的行为。当他们突然(在同一更新周期中)无法正确安装更新时,我们首先收到了这种行为的警报,我们通过监控软件收到了警报。

Windows 更新: 在有问题的机器上,我们能够很好地连接到 Windows 更新 URL,但任何实际检查更新的尝试都将导致

错误编号:0x80244016

在 Windows 更新页面中。此错误代码对应于无效的 URL。当我们通过 WSUS 时,URL 应该是(我们已经检查了所有服务器)到我们的 WSUS 服务器的 FQDN 和端口 \NOC3.sub.domain.com:8888 。我们发现此时通过 winHTTP 代理设置阻止了流量。所以,当这个问题发生时,我们可以使用

proxycfg -h

并清除代理设置。运行 Windows 更新,它将成功连接。

这就是它变得有趣的地方: 现在,这一切都很好,但它会变得更好。所以下一个 Windows 更新大约在上个月出现,并且仔细观察,完全相同的服务器再次出现完全相同的问题。现在,我们有点怀疑为什么相同的代理设置会重新应用。当然,我们认为这可能是一项没有正确禁用或可能只是错误应用的旧政策。因此,我们都为域控制器上 GPM 中的服务器搜索了所有适用的 GPO,寻找可能与这种奇怪的、现在重复出现的策略(?) ) 代理服务器设置。没有应用任何提及代理服务器的政策。然后,我在机器上运行了 RSOP。

变得陌生: 所以在运行 RSOP 之后,一切似乎都加载好了。直到我尝试打开本地计算机 --> 管理模板文件夹。首先,打开文件夹需要很长时间。然后,当它最终运行时,会出现与 AER_####.adm 相关的错误消息。不仅是错误,而且您还会在同一文件夹中显示多种语言的策略设置。现在,我不太会阅读阿拉伯语、中文、意大利语或日语,但我将假设这些是不同语言的策略设置的副本。我发现通过清除 %root%\system\inf 文件夹中的 .adm 文件,至少可以让 …

wsus proxy group-policy windows-update windows-server-2003-r2

5
推荐指数
0
解决办法
1031
查看次数

如何解决 OpenSSH 协议不匹配问题?

我正在尝试绕过医院防火墙。

我可以在端口 443 上通过 SSH 连接到我的 devbox:

ssh -L 8080:devbox:443 root@devbox -p 443

但我实际上无法在浏览器中加载 devbox。当我去localhost:8080我收到以下错误:

SSH-2.0-OpenSSH_4.3 Protocol mismatch.

当我ssh -V得到以下信息时:

开发箱: OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

本地机器: OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011

我假设这种差异是导致协议不匹配的原因。谁能建议如何解决不匹配?

ssh proxy port-forwarding ssh-tunnel

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

proxy_cache_ 和 fastcgi_cache 有什么区别?

我正在寻找一个简单的 Nginx 微缓存解决方案,我最终看到了两种拥有微缓存的方法。一些教程使用proxy_cache,而其他教程使用fastcgi_cache。这两种解决方案之间的区别、优缺点是什么?

谢谢!

nginx proxy cache fastcgi

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

为 Docker 重定向 SSH 用户:Gitlab 和 Docker:Bitbucket

正如您在标题中已经读到的,我目前正在运行多个用作 git 服务器的 docker 容器,通常应该在端口 22 下运行。这显然不起作用,但我的请求如下。

在端口 22 上提供以下内容:

  • git@HOST - 重定向到 gitlab docker 容器
  • bitbucket@HOST - 重定向到 bitbucket 容器
  • root@HOST -(我根本不是以 root 身份工作,但出于理解原因)对 Docker Mainhost 的正常 SSH 访问。

我知道我必须跨容器和帐户同步 ssh 密钥,但这不会是一个大问题,但我不知道是否可以构建重定向系统。

我的一种方法是使用ForceCommand,但我无法重定向使用的 SSH 密钥...

另一个想法是在端口 22 上运行一个小工具,它只是在所有 SSH 守护进程之间路由完整的请求,但我还没有(还?)找到这样的工具,不知道是否可以构建这样的工具出于安全原因。

ssh proxy redirect docker

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

Dante 无法绑定到公共 IP 地址

我在具有多个公共 ip 地址的主机上有一个 Dante 服务器,但它无法绑定到主机的 ips。ips 是可以 ping 的,我有另一个服务在监听它们(不同的端口),它可以工作,所以我知道 ips 工作。在我的测试服务器上,它有 10 个公共地址,它没有问题,但在这个有数百个地址的服务器上却没有问题。错误:

debug: sockaddr2ifname(): address 138.xxx.93.2.51002 does not belong to interface

这是我的配置:

logoutput: /dev/stdout
debug: 1

internal: 138.xxx.93.2 port = 51002
external 138.xxx.93.2

external.rotation: same-same

socksmethod: username none
clientmethod: none

user.privileged: root
user.notprivileged: nobody

client pass {
        from: 45.xxx.56.91/32 to: 138.xxx.93.2/32
        log: error
}

socks pass {
        from: 0/0 to: 0/0
        session.state.key: from
        session.state.max: 100
        session.state.throttle: 10/2
}
Run Code Online (Sandbox Code Playgroud)

proxy socks dante

5
推荐指数
0
解决办法
812
查看次数

如何让托管服务帐户使用组策略中的 Internet 代理设置?

我有一项服务在需要 Internet 访问的 Windows 2012 R2 域成员服务器上运行。该服务配置为在托管服务帐户下运行,并且该帐户被授予域成员的本地管理员权限。组策略首选项用于为所有用户配置 Web 代理设置,相关组策略在域顶级链接。

托管服务帐户存在于顶级此类帐户的默认容器中,但是似乎没有将这些设置应用于 HKEY_USERS 下的注册表配置单元,并且手动将设置添加到相关配置单元似乎没有任何效果任何一个。如何以与任何其他普通域帐户相同的方式将代理设置应用于托管服务帐户?

active-directory proxy group-policy windows-server-2012-r2 managed-service-accounts

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

Apache HTTPd 2.2 忽略 LocationMatch 正则表达式

我正在尝试创建一个反向代理,它匹配除 Apache 2.2 中的一个之外的每个 URL。它适用于 Apache 2.4 (Centos 7),但不适用于 Apache 2.2 (Centos 6.6) ...

# Do not modify this
<LocationMatch "^/my-website-2">
        ProxyPass http://X.X.X.X:PORT/my-website-2
        ProxyPassReverse http://X.X.X.X:PORT/my-website-2
        (...)
</LocationMatch>

# Match every URL except the one finishing with /redirect
<LocationMatch "^/my-website(?!/redirect)">
        ProxyPass http://X.X.X.X:PORT/my-website
        ProxyPassReverse http://X.X.X.X:PORT/my-website
        AuthType XXX
        RequestHeader set XXX YYY
        (...)
</LocationMatch>

# Do anothers directives with this URL only, finishing with /redirect
<Location "/my-website/redirect">
        AuthType XXX
        (...)
</Location>
Run Code Online (Sandbox Code Playgroud)

当我输入https://my-server.com/my-website因为正则表达式不匹配 ^/my-website时,我的服务器正在寻找 /var/www/html/my-website(不存在的)(?!/重定向)

我知道 Apache 2.2 不能理解每个负面 PCRE 正则表达式,但似乎存在一些技巧......请参阅:

proxy httpd pcre apache-2.2

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