転送:localhost:80/dir/ (apache) へ

転送:localhost:80/dir/ (apache) へ

こんにちは、StackExchange さん! Superuser への最初の投稿です。

コンピューターに Apache と PHP をインストールしましたが、コンピューターで「localhost」と入力すると問題なく動作します。しかし、私が望んでいるのは、誰かが入力したときにhttp://<my ip>:<random port number that isn't used>リダイレクトすることですhttp://localhost/internet/。ポート転送でこれを行うにはどうすればよいでしょうか。また、Apache で何を構成する必要がありますか。

これはポート転送に関する質問 #87465094 かもしれないことはわかっていますが、Superuser でもインターネットの他の場所でも、私の問題に対する解決策は見つかりませんでした。

テュー

答え1

まず、2 つの概念を 1 つのアイデアに混ぜ合わせています。

  • TCP/IP ポート転送
  • HTTP リダイレクト

これら 2 つを組み合わせることで目的を達成できますが、これらは別々の概念です。

HTTP リダイレクト

ということで、とりあえずポート転送は無視して、リダイレクト部分を先に設定しましょう。

$ sudo editor /etc/apache2/sites-available/thews_site

これにより、新しい設定ファイルが作成されます。サイトApache の設定。ここに、サイトのすべての設定を配置できます。

当社のバーチャルホスト

新しい Apache サイトを定義しましょう:

NameVirtualHost *:12345
<VirtualHost *:12345>
        Redirect / http://www.superuser.com
</VirtualHost>

これにより、任意のローカルIPでアクセスできる新しいサイトが作成されますが、のみポートに12345

サイト定義自体はかなり短いです。構成エントリは 1 つだけです。ターゲット サイトへのリダイレクトです。

Apache ポート設定

また、Apache に新しいポートを listen するように指示する必要があります。

$ sudo echo "Listen 12345" >> /etc/apache2/ports.conf

Listen 12345これにより、 の末尾に行が追加されます/etc/apache2/ports.conf。 または、テキスト エディターを使用して自分で追加することもできます。

それではサイトを有効にしましょう

$ sudo a2ensite thews_site
$ sudo invoke-rc.d apache2 restart

これにより、以前に定義したサイトが有効2 番目のコマンドは Apache を再起動します。

テスト

http://localhost:12345今ブラウザに入力すると、 にリダイレクトされるはずですsuperuser.com

ポート転送

これで、ポート転送これをルーターで実行します。ルーターにパブリック ポートを33333ローカル ポートに転送するように指示します12345

もし誰かがサーフィンをしたらyour-public-ip:33333 彼らはにリダイレクトされますsuperuser.com

これらの例はすべて Debian ベースの環境向けです。必要に応じて適応できると思います。

幸運を :)

関連情報