ルータの背後にあるポート転送にIPテーブルを使用できますか?
私の設定は次のとおりです。ポート80で小さなWebサイトを実行しているRaspberry Piと、ポート25565でMinecraftサーバーを実行するより強力なコンピュータがあります。各ポートで要求を受け入れ、正しい場所に転送するようにルーターを設定しましたが、Minecraftサーバー(ポート80)で実行されているMinecraft「Webサイト」(マップなどを含む)もあります。 myurl.comもあります。
私の質問は:IPテーブルを使ってmc.myurl.com:80をMinecraftサーバーのウェブサイトに渡し、myurl.com:80はRaspberry Piに引き続き続けることができますか?どのように設定しますか?
方程式からRaspberry Piを削除するとどうなりますか? mc.myurl.comは同じサーバーから:81に転送されますか? (ルーターで:81を開く必要がありますか?)
答え1
答え2
Apache2のリバースプロキシモジュールを使用できます。これにより、mcサーバーのホスト名の受信要求がLAN内の別のhttpサーバーにリダイレクトされます。これはファイアウォールに頼るよりも簡単なアイデアです。
まずモジュールを取り付けます。
apt-get install libapache2-mod-proxy-html
2つの仮想ホストを作成します。 1 つはサイト要求に応答し、もう 1 つは MC サイトにトラフィックをプロキシします。
<VirtualHost YOUR.INTERNET.IP.ADDR:80>
ServerAdmin [email protected]
ProxyPreserveHost On
ProxyPass / http://LAN.IP.YOUR.MC.SITE:PORT/
ProxyPassReverse / http://LAN.IP.YOUR.MC.SITE:PORT/
ServerName mc.myurl.com
</VirtualHost>
<VirtualHost YOUR.INTERNET.IP.ADDR:80>
ServerAdmin [email protected]
DocumentRoot /var/www/sites/my_site
ServerName myurl.com
ErrorLog logs/intranet-error_log
CustomLog logs/intranet-access_log common
</VirtualHost>
ここにさらに多くの文書があります: