3

我有一个 Apache 2 Debian 网络服务器,它启用了mod_proxymod_proxy_CONNECTmod_proxy_HTTP模块。我的目标是能够将其用作转发代理服务器,通过端口 80 建立 SSH 会话。因此,SSH 客户端应该能够使用代理服务器(在端口 80 上)连接到托管的 SSH 服务器端口 22。代理模块配置如下:

ProxyRequests On

<Proxy *>
    AddDefaultCharset off
    Order Deny,Allow
    Allow from all
</Proxy>

使用代理连接到任何常规网站时,它工作正常。GET当使用浏览器中的方法连接到端口 22 上的 SSH 服务器时,它也可以工作。例如:

GET http://sshserver.com:22/ HTTP/1.1
Host: sshserver.com:22

但是,当使用该CONNECT方法时(所以我们可以使用 SSH 协议),例如:

CONNECT sshserver.com:22 HTTP/1.1
Host: sshserver.com:22

服务器以不祥的响应进行403 Forbidden响应。

4

1 回答 1

3

我对 SSH 和 FTP 有同样的问题。您必须在您的代理配置中添加它:

AllowCONNECT 443 563 21 22  

默认情况下,此值设置为端口 443 和 563,并且仅允许这些端口使用连接方法,使用上面的指令还可以启用 FTP 和 SSH 默认端口。有关详细信息,请参阅:http ://httpd.apache.org/docs/2.2/mod/mod_proxy.html#allowconnect。

编辑: 从 Apache 2.4 版开始,您还可以指定端口范围以同时允许多个端口,如下所示:

AllowCONNECT 20-30  
于 2013-11-09T16:43:24.337 回答