3

mod_proxymod_proxy_CONNECT、およびmod_proxy_HTTPモジュールを有効にして Apache 2 Debian Web サーバーを実行しています。私の目標は、ポート 80 経由で SSH セッションをトンネリングするためのフォワード プロキシ サーバーとして使用できるようにすることです。そのため、SSH クライアントはプロキシ サーバー (ポート 80) を使用して、ホストされている SSH サーバーに接続できる必要があります。ポート 22。プロキシ モジュールは次のように構成されます。

ProxyRequests On

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

プロキシを使用して通常の Web サイトに接続すると、問題なく動作します。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 に設定されており、これらのポートのみが connect メソッドの使用を許可されています。また、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 に答える