こんにちは、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 ベースの環境向けです。必要に応じて適応できると思います。
幸運を :)