0

Azure クラウド サービスのワーカー ロール (Web ロールではない) で実行するように node.js アプリをセットアップしました。HTTP で実行される標準アプリでは、すべてが正常に機能していました。

現在、HTTPS で SSL を介して実行しようとしていますが、http://www.windowsazure.com/en-us/develop/nodejs/common-tasks/enable-ssl-worker-roleの指示にうまく従いました。 /しかし、正しい結果が得られませんでした!

HTTP または HTTPS 経由で URL にアクセスすると、接続がタイムアウトし、何も返されません。

不足している可能性のあるものや、上記のガイドに含まれていない手順はありますか?

ガイドで気づいたことの 1 つは、行が...

<InputEndpoint name="HttpIn" protocol="tcp" port="443" />

...実際にはHttp s Inである必要がありますか? これを変更しても、大きな違いはないようです。


更新:ここに私の設定ファイルのいくつかがあります

ServiceConfiguration.cloud.cscfg

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" serviceName="*removed*" osFamily="2" osVersion="*" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
  <Role name="WorkerRole1">
    <ConfigurationSettings />
    <Instances count="1" />
    <Certificates>
      <Certificate name="certificateName" thumbprint="*removed*" thumbprintAlgorithm="sha1" />
    </Certificates>
  </Role>
</ServiceConfiguration>

ServiceDefinition.csdef

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="*removed*" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WorkerRole name="WorkerRole1" vmsize="ExtraSmall">
    <Startup>
      <Task commandLine="setup_worker.cmd &gt; log.txt" executionContext="elevated">
        <Environment>
          <Variable name="EMULATED">
            <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
          </Variable>
          <Variable name="RUNTIMEID" value="node" />
          <Variable name="RUNTIMEURL" value="http://az413943.vo.msecnd.net/node/0.8.4.exe" />
        </Environment>
      </Task>
      <Task commandLine="node.cmd .\startup.js" executionContext="elevated" />
    </Startup>
    <Endpoints>
      <InputEndpoint name="HttpIn" protocol="http" port="80" />
      <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="certificateName" />
    </Endpoints>
    <Certificates>
      <Certificate name="certificateName" storeLocation="LocalMachine" storeName="My" />
    </Certificates>
    <Runtime>
      <Environment>
        <Variable name="PORT">
          <RoleInstanceValue xpath="/RoleEnvironment/CurrentInstance/Endpoints/Endpoint[@name='HttpIn']/@port" />
        </Variable>
        <Variable name="EMULATED">
          <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
        </Variable>
      </Environment>
      <EntryPoint>
        <ProgramEntryPoint commandLine="node.cmd .\server.js" setReadyOnProcessStart="true" />
      </EntryPoint>
    </Runtime>
  </WorkerRole>
</ServiceDefinition>

これらのさまざまなバリエーションも試しましたが(余分なタグと属性を減らして)、何も機能しないようです。

4

1 に答える 1