2017-08-24 3 views
0

私はWindows、Networks、およびDomainsの周りに頭を抱えようとしています。アプリケーション(サーバー:ポート)にフレンドリーエイリアスを持たせたい - ホストエイリアス/ DNS/Aレコードについて/ CNAME

私は現在、サーバーを持っています - svr。これは私のドメインにありますcompanyname.co.uk

私はサーバーに接続し、svrとsvr.companyname.co.ukの両方にpingすることができます。

このサーバーには、Webアクセスのある多数のアプリケーションがあります。私たちは現在svr:xxxxをブラウズしてそれらに接続しています。ここで、xxxxはウェブアプリケーションホストのポートです(http://svr:9090/ TC)

友好的なエイリアスを作成したいと思っています - 例えばteamcity.companyname.co .ukはsvr:9090を指し、octopus.companyname.co.ukはsvr:8090を指します。

しかし、この分野では経験はありませんが、私が探しているものを完全に説明する関連文書やサイトを見つけることはできません。

答えて

1

まず、1つのことを明確にする:http://example.comのようなWebページを訪問すると、Webブラウザは実際にexample.com:80にリクエストしています。ポート80はHTTPプロトコルの標準ポートなので、これは透過的に行われます。ご存知のように、非標準ポートをURLのドメイン名:http://example.com:888/に追加してリクエストすることができます。

残念ながら、標準以外のポートを何らかの形で含むドメイン名「エイリアス」を使用することはできません。ポートを指定しないと、ブラウザは常にポート80を使用しようとします。

1つの解決策は、プロキシを使用することです - 、lighttpdなどがこれを行うことができます。

考えられるのは、ホスト上のポート80でリッスンしているプロキシサーバーを設定することです。接続を待ってから、それらの接続をいくつかのルールに基づいて別のサーバー(同じホスト上または別のホスト上)に転送します。これらのルールのため

IF host = teamcity.companyname.co.uk THEN forward to teamcity:9090 
IF host = octopus.companyname.co.uk THEN forward to octopus:8090 

構文異なるプロキシ構成の間で大きく異なるので、これは単なる例です。したがって、たとえば、あなたはこのような何かを見て、ルールを持っているかもしれません。

ではないリダイレクト - すべての要求に対してユーザーのブラウザがteamcity.companyname.co.ukに接続していることに注意してください。これは、要求を別のサービスに送信し、応答をクライアントの「裏側」に転送するプロキシです。

これらのプロキシ設定はかなり複雑になる可能性があります。たとえば、チームシティアプリケーションで、リンクがhttp://teamcity:9090/path/to/pageを指すページが表示されている場合はどうなりますか?ユーザのブラウザは、そのリンクをクリックすると失敗します。幸いにも、このようなURLを即座に書き換えるようにプロキシを設定することができます。あなたはこのソリューションをあなたの状況に合わせるためにいくつかの研究を行う必要があります。

+0

これは理にかなっています。だから、たとえばoctopus.companyname.co.ukとteamcity.companyname.co.ukを持っていたければ、同じサーバーにそれらを置くことはできません。ポート80彼らがポート80に入ったら、svrXからOctopus/TeamCityにCNAMEを作成することができます。効果的に私がoctopus.companyname.co.ukを行った場合、それはsvrYに行きます:80.companyname.co.ukとteamcity.companyname.co.ukはsvrXに行きます:80.companyname.co.uk – Olly

+0

あなたは複数異なるポートでリッスンしている場合は、同じサーバー上のアプリを使用できます。プロキシは、接続をリッスンしている限り、アプリの位置は気にしません。 – Kryten

関連する問題