私はアプリケーションをJettyで実行しています。絶対参照URLを返すようにアプリケーションを設定してください(RSSフィードを生成するとき、クライアントは「現在のURL」コンテキスト)。アプリケーションサーバーで実際の(仮想)ホスト名を取得する
問題は、アプリケーションをデプロイするホスト名を事前に知っておらず、いくつかのホスト名が同じホスト名にマップされている仮想ホスティング環境にデプロイされる可能性が高いことですIPアドレス。私はHttpServletRequest.getLocalName()
を使用しようとしましたが、クライアントが指定したURLからのホスト名ではなく、要求が受信されたIPアドレス(通常はローカルホストファイルに設定されているもの)の解決されたホスト名[1] HTTPリクエスト
基本的に私はCGIで環境変数SERVER_NAME
を取得したいのですが、Java APIがこれを提供するようには見えません。どんな助けもありがとう。
[1]私が運が良ければ - セットアップによってはIPアドレスだけが返されます。
ありがとう:-)(これは私のちょっとばかげた - 私はこれを知っていたはずです) – Guss