0

お客様のコンピューター (NAT の背後) で実行されている Web アプリ (IIS によってホストされる ASP.Net Core) があります。

インターネットに接続されている携帯電話やその他のデバイスは、Web アプリにアクセスできる必要があります。

制限:

  • パブリック IP アドレスはありません。
  • インターネットにアクセスするためのハードウェアとソフトウェアが弊社から提供されていないため、お客様にダイナミック DNS を設定したくありません。

http リレー サーバーのようなもので、クライアント リクエストを対応する Web アプリに転送したり、その逆を行ったりする必要があります。

例えば

  • www.example.org/c1 は、顧客 1 の PC の Web アプリに移動します
  • www.example.org/c2 は、顧客 2 の PC の Web アプリに移動します。

またはさらに良い

  • c1.example.org/ は、顧客 1 の PC の Web アプリに移動します。
  • c2.example.org/ は、顧客 2 の PC の Web アプリに移動します。

これまでに評価したこと:

Microsoft Azure ハイブリッド接続:

  • Web アプリでのログインにまだ苦労しています - 他の Cookie は正常に機能しているように見えますが、ブラウザーは認証 Cookie を取得しません。
  • 値札は非常に高く、農家であり、常に可能な限り最小限の金額を支払うように促す顧客に請求することは困難です。

ThinkTecture RelayServer を使用した RabbitMQ ( https://github.com/thinktecture/relayserver ):

  • RelayServer プラグインをまだ動作させることができませんでした。
    • これが私が得るエラートレースです:
    \RelayServer>Thinktecture.Relay.Server.exe start
    [12:27:59 WRN] No SharedSecret or OAuthCertificate is configured. Please configure one of them. Continuing with a random value which will make all tokens invalid on restart.
    [12:27:59 DBG] Using settings file. settings-file-name=C:\Users\schema\AppData\Local\Thinktecure\RelayServer\settings_443.config.json
    [12:27:59 DBG] Loaded setting from file. origin-id=ecf0e337-c111-450a-b802-384df2fbce76
    [12:27:59 INF] Configuration Result:
    [Success] Name TTRelayServer
    [Success] DisplayName Thinktecture RelayServer
    [Success] Description Thinktecture RelayServer Process
    [Success] ServiceName TTRelayServer
    [12:27:59 INF] Topshelf v4.1.0.172, .NET Framework v4.0.30319.42000
    [12:27:59 DBG] Starting TTRelayServer
    [12:28:10 ERR] The service failed to start.
    System.ServiceProcess.TimeoutException: Der Vorgang wurde nicht abgeschlossen, da der Timeout abgelaufen ist.
       bei System.ServiceProcess.ServiceController.WaitForStatus(ServiceControllerStatus desiredStatus, TimeSpan timeout)
       bei Topshelf.Runtime.Windows.WindowsHostEnvironment.StartService(String serviceName, TimeSpan startTimeOut)
       bei Topshelf.Hosts.StartHost.Run()
  • RabbitMQ が稼働中で、私はいくつかのチュートリアルをうまく実装して遊んでいました。

質問:

無料または高すぎない、適切でセットアップが簡単な代替案について、提案をいただければ幸いです。

ThinkTekture RelayServer を使用した経験のある方は、ご意見をお聞かせください。

4

1 に答える 1