1

仮想マシンでローカルにホストされている Service Insight に接続できるかどうか疑問に思っていましたか? つまり、次のとおりです。

  • クラウド内の VM に Service Insight をインストールしています
  • リモートデスクトップ経由でリモート接続できます
  • ボックスで Service Insight を起動して、メッセージ トラフィックを表示できます

ただし、Service Insight をローカルにインストールしており、VM でホストされている Service Control に接続しようとすると、接続方法がわかりません。特定のWebサイトを見ると、多くのドキュメントも見つかりません。Service Control は、あるべきだと私が信じている URL を想定していますがhttp://serviceins.cloudapp.net:33333/api/、これは何も解決しません。

私の VM の名前はserviceinsです。

ServiceControl.config に変更を加えました。

<appsettings>
    <add key="ServiceControl/Hostname" value="serviceins.cloudapp.net"/>
        <add key="ServiceControl/HoursToKeepMessagesBeforeExpiring" value="24"/>
</appsettings>

ServicePulse.config

service_control_url: 'http://serviceins.cloudapp.net:33333/api/'

私の質問は、VM にリモート接続することなく Service Insight にアクセスするにはどうすればよいかということだと思います。Service Insight に URL を提供するだけで、これにアクセスできますか?

ありがとう、DS。

4

1 に答える 1

4

セキュリティ警告

ServiceControl にはセキュリティ レイヤーが組み込まれていないため、API URL をインターネットに公開すると、ポート 33333 に接続できるすべてのユーザーが ServiceControl に保存されているすべてのメッセージにアクセスできます。これが、デフォルトで localhost に制限されている理由です。

本番システムで行うべきではないことを十分に強調することはできません

Azure の場合、より安全な方法は、ポイント ツー サイト VPN 接続のようなものを使用することです。(参照: https://msdn.microsoft.com/en-us/library/azure/jj156206.aspx ) ただし、これには少し再構成が必要になる場合があります。

それでも安全でない方法で URL を公開したい場合は、次のようにします。

1. App.config でホスト名をワイルドカードに設定します。

<add key="ServiceControl/HostName" value="*" />

2. ワイルドカードに対応するように URLACL を更新します。

cmd プロンプトで次のコマンドを発行すると、URLACL 設定を表示できます。

netsh http show urlacl 

ポートhttp://localhost:33333/api/またはhttp://serviceins.cloudapp.net:33333/api/の既存の設定がある場合は、次 を使用してそれらを削除します。

netsh http delete urlacl URL=http://localhost:33333/api/
netsh http delete urlacl URL=http://serviceins.cloudapp.net:33333/api/

ワイルドカード URLACL を追加する

netsh http add urlacl URL=http://*:33333/api/ User=Users

show コマンドで確認すると、次のようなエントリが表示されます。

Reserved URL            : http://*:33333/api/
User: BUILTIN\Users
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;BU)

3. Windows ファイアウォール

Windows ファイアウォールに受信規則を追加します。デフォルトでは、ポート 33333 は着信接続に対してブロックされます。次のコマンドを使用して、管理者 Powershell 経由でこれを行うことができます (VM が Win2012 であると想定しています)。

New-NetFirewallRule -Name ServiceControl -Direction Inbound -Protocol TCP -LocalPort 33333  -Action Allow -Enabled True

4. Azure エンドポイントを追加する

ポート 33333 への接続を許可するには、Azure エンドポイント接続を開く必要もあります。これは本質的に別のファイアウォールです。これを文書化するのではなく、Microsoft 自身の doco を参照してください: http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-set-up-endpoints/

エンドポイント構成の一部として、ポートへの接続を許可する IP 範囲を制限することにより、セキュリティを追加できます。これは、静的 IP を持っている場合にのみ役立ちます。

于 2015-03-03T02:59:45.670 に答える