ブラウザの URL 内の IP とポートを非表示にするにはどうすればよいですか?

ブラウザの URL 内の IP とポートを非表示にするにはどうすればよいですか?

いくつかの情報:

mysite.com:9999 にアクセスすると、サイトは 45.40.45.40:9999 のように表示されます。45.40.45.40 はルーターのパブリック IP で、その後に Ubuntu の VirtualBox 上の Apache サーバーに接続するために使用される非標準ポートが続きます。

mysite.com を public_ip:used_port_to_connect_Apache にリダイレクトするために、namecheap.com からの DNS リダイレクトを使用します。そのため、接続後の URL は 45.40.45.40:9999 のようになります。

私の質問は、「45.40.45.40:9999」を、mysite.com のみである元のドメイン名に変換/戻すにはどうすればよいかということです。

何をする必要がありますか? これはどこかの Apache 構成設定ですか? これは Apache サーバー上の仮想ホストです。

/etc/apache2/sites-available/mysite.com.conf:

Listen 9999

<VirtualHost *:9999>

    <Directory /var/www/mysite.com/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ServerAdmin [email protected]
    ServerName mysite.com
    ServerAlias www.mysite.com
    DocumentRoot /var/www/mysite.com/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

助けてください。

答え1

mysite.comを45.40.45.40に解決するだけです。http://mysite.com:9999ブラウザから。リダイレクトは必要ありません。また、ルーターや Apache の設定を変更する必要もありません。

ポート番号も隠したい場合は、元々のリダイレクトをリバースプロキシに置き換える必要があります。これはポート80をリッスンし、プロキシ実際の Web サーバーへのリクエスト。すべてのリクエストは常にこのリバース プロキシを通過します。リバース プロキシの設定方法については既に回答があります。たとえば、次のとおりです。

Nginx リバース プロキシとサブドメイン

ただし、これを行うにはかなりの労力がかかり、得られるのは URL の文字数が少し減るだけです。

関連情報