2017-01-10 8 views
0

私はService Fabricを初めて使用しています。サービスファブリック - IISに似たバインディング

IISでは、私は以下のことを達成するためにバインディングを使用します:

ex。私はポート80を設定することができ、ロードバランサから、

WebService1 port: 8666 (Asp.Net Core Web App) 
WebService2 port: 8777 (Asp.Net Core Web API) 

今:

sub1.mydomain.com.au:80 --> MyApp1 (This would be an ASP.NET Web Site or Web API) 
sub2.mydomain.com.au:80 --> MyApp2 (This would be another ASP.NET Web Site or Web API) 

は、あなたがサービスファブリック

でこれを行うにはどうすればよい私は2つのウェブサイトはサービスファブリック内のサービスとして実行していますバックエンドポート8666にバインドしますが、どのようにしてポート80を(サブドメイン "sub2"で)バックエンドのポート8777に設定できますか?

これも可能ですか、これを処理するために何か他のものを使用すべきですか?

おかげ

答えて

0

あなたはreverse proxy機能を使用してこれを行うことができます。 ServiceInstanceNameを変数として受け取ります。代わりに、紺碧のロードバランサ 内の個々のサービスのポートを構成するので

、ちょうどSFリバースプロキシポートは Azureのロードバランサで構成することができます。これにより、クラスタ外のクライアントは、 の構成を追加せずにリバースプロキシ経由でクラスタ内の サービスに到達することができます。

+0

ありがとうございました。申し訳ありませんが、私はこのコンセプトには本当に新しいです。私が理解しているところでは、リバースプロキシを設定した後、2番目のサービス(ポート8777で稼動するサービス)にアクセスできます。http://sub1.mydomain.com.au:19008/MyApp/MyService/api/users、correct?そう言って、ポート80でリバースプロキシを設定することができるので、私はhttp://sub1.mydomain.com.au/MyApp/MyService/api/usersからリソースにアクセスできますか? – ZeroOne

+0

ロードバランサを備えた(Azure)クラスタで実行している場合は、着信ポート80をバックエンドポート19008にマップするロードバランシングルールを追加できます。これは最も簡単です。 – LoekD

+0

はい、ありがとうございます。私の元の質問に戻って、これが実際に自分の問題を解決するなら、私はもう一度考えています。私は2つのフロントエンドasp.netコアのWebサイト(apisではない)がクラスタ内で実行していると言うことができます。サイトにアクセスするには、http:// mydomain/myapp/site1とhttp:// mydomain/myapp/site2に移動する必要がありますか?ユーザーがhttp://site1.mydomainとhttp://site2.mydomainにアクセスしてフロントエンドのWebサイトにアクセスすることを望んでいました。(私がIISで行っているのと同じように) – ZeroOne

関連する問題