複数のウェブサイトを実行する仮想マシンがあります。すべてのユーザーは、デバイスの外部IPアドレスを介してこのコンテンツにアクセスできます。私はこのコンピュータでDebian Stableを実行しています。
マシンにアクセスしssh
て設定できるため、ブラウザをlocalhostポート/ phpmyadminに接続し、phpmyadminにアクセスできるように10080
ローカルポートをに転送します。マイコンピュータはネットワークにあります。localhost:80
10080
192.168.0.0/24
問題は、外部のウェブサイトからもアクセスできることです。 Debian がこれをトップレベルの Apache 構成に配置したからです。
ポート経由でのみssh
接続へのアクセスを制限したいと思います。しかし、ディレクトリに対応するリスニングディレクティブはないようです。
ただし、IP_addressの権限があります。トンネルを通過すると、Apacheは私がどのIPアドレスに接続しているかを考えますssh
。
答え1
いいですね。この問題は解決するのが比較的簡単です。
以下を使用してサーバーにアクセスできます。
ssh -L 5580:localhost:80 www.servername.tld
次に、次のようにphpmyadminにアクセスします。
http://localhost:5580/phpmyadmin/
Debianがそれを入れたので
M $があればこれを言うことができますが、Debianがあるので、必要に応じてデフォルト値を変更できます。 :-)
ただし、IP_addressの権限があります。 SSH経由でトンネリングするとき、Apacheは私がどのIPアドレスに接続しているかを考えます。
すでに使用したものと同じです。localhost
ここで最も簡単な解決策はあなたが言ったことです
# /etc/phpmyadmin/apache.conf
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
...
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
別の解決策は、phpmyadminへの排他アクセスのために追加のポートをリッスンすることです。
変更するファイル:
# /etc/apache2/ports.conf
Listen localhost:8880
そして
# /etc/phpmyadmin/apache.conf
<VirtualHost *:8880>
ServerName localhost
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
...
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
最後に
apache2ctl configtest
apache2ctl restart
リダイレクトコマンド
ssh -L 5580:localhost:8880 www.servername.tld
そしてつながる
http://localhost:5580/phpmyadmin/