Getting ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY in Chrome using azure-iothub SDK












0















I have a simple javascript class which creates/deletes devices inside an Azure IoT Hub, using the azure-iothub Node.js module.



class AzureManager {
constructor(options) {
const { connectionString } = options;
this.registry = iothub.Registry.fromConnectionString(connectionString);
}

/**
* Gets some stats about the Iot Hub selected
* @returns {Object} an object with the following properties:
* totalDeviceCount, enabledDeviceCount, disabledDeviceCount
*/
getStats() {
return new Promise((resolve, reject) => {
this.registry.getRegistryStatistics((err, stats, res) => {
if (err) {
return reject(err);
}

return resolve(stats);
});
});
}
}


I have developed a Jest test for this class and when I execute it, all tests pass without problems.
When I execute the code inside Chrome, I get the following error.




request.js:150 OPTIONS
https://pysensors.azure-devices.net/statistics/devices?api-version=2018-06-30
net::ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY




I don't know if I have to configure something to make it works on all the recent versions of the browsers.
I've found this forum post (somehow similar to this blog post) which talks about a cipher suite problem on the server side and to force the client to use HTTP1/1, but since I'm using the SDK, I have no control on how the request is performed.
Thanks



EDIT: Just discovered that the module I'm using is intended to be used just server side. Using Firefox I don't have the SPDY issue, anyway I get CORS issues since the Azure doesn't support it. I've read somewhere that it's on their roadmap, but not a top priority.










share|improve this question





























    0















    I have a simple javascript class which creates/deletes devices inside an Azure IoT Hub, using the azure-iothub Node.js module.



    class AzureManager {
    constructor(options) {
    const { connectionString } = options;
    this.registry = iothub.Registry.fromConnectionString(connectionString);
    }

    /**
    * Gets some stats about the Iot Hub selected
    * @returns {Object} an object with the following properties:
    * totalDeviceCount, enabledDeviceCount, disabledDeviceCount
    */
    getStats() {
    return new Promise((resolve, reject) => {
    this.registry.getRegistryStatistics((err, stats, res) => {
    if (err) {
    return reject(err);
    }

    return resolve(stats);
    });
    });
    }
    }


    I have developed a Jest test for this class and when I execute it, all tests pass without problems.
    When I execute the code inside Chrome, I get the following error.




    request.js:150 OPTIONS
    https://pysensors.azure-devices.net/statistics/devices?api-version=2018-06-30
    net::ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY




    I don't know if I have to configure something to make it works on all the recent versions of the browsers.
    I've found this forum post (somehow similar to this blog post) which talks about a cipher suite problem on the server side and to force the client to use HTTP1/1, but since I'm using the SDK, I have no control on how the request is performed.
    Thanks



    EDIT: Just discovered that the module I'm using is intended to be used just server side. Using Firefox I don't have the SPDY issue, anyway I get CORS issues since the Azure doesn't support it. I've read somewhere that it's on their roadmap, but not a top priority.










    share|improve this question



























      0












      0








      0








      I have a simple javascript class which creates/deletes devices inside an Azure IoT Hub, using the azure-iothub Node.js module.



      class AzureManager {
      constructor(options) {
      const { connectionString } = options;
      this.registry = iothub.Registry.fromConnectionString(connectionString);
      }

      /**
      * Gets some stats about the Iot Hub selected
      * @returns {Object} an object with the following properties:
      * totalDeviceCount, enabledDeviceCount, disabledDeviceCount
      */
      getStats() {
      return new Promise((resolve, reject) => {
      this.registry.getRegistryStatistics((err, stats, res) => {
      if (err) {
      return reject(err);
      }

      return resolve(stats);
      });
      });
      }
      }


      I have developed a Jest test for this class and when I execute it, all tests pass without problems.
      When I execute the code inside Chrome, I get the following error.




      request.js:150 OPTIONS
      https://pysensors.azure-devices.net/statistics/devices?api-version=2018-06-30
      net::ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY




      I don't know if I have to configure something to make it works on all the recent versions of the browsers.
      I've found this forum post (somehow similar to this blog post) which talks about a cipher suite problem on the server side and to force the client to use HTTP1/1, but since I'm using the SDK, I have no control on how the request is performed.
      Thanks



      EDIT: Just discovered that the module I'm using is intended to be used just server side. Using Firefox I don't have the SPDY issue, anyway I get CORS issues since the Azure doesn't support it. I've read somewhere that it's on their roadmap, but not a top priority.










      share|improve this question
















      I have a simple javascript class which creates/deletes devices inside an Azure IoT Hub, using the azure-iothub Node.js module.



      class AzureManager {
      constructor(options) {
      const { connectionString } = options;
      this.registry = iothub.Registry.fromConnectionString(connectionString);
      }

      /**
      * Gets some stats about the Iot Hub selected
      * @returns {Object} an object with the following properties:
      * totalDeviceCount, enabledDeviceCount, disabledDeviceCount
      */
      getStats() {
      return new Promise((resolve, reject) => {
      this.registry.getRegistryStatistics((err, stats, res) => {
      if (err) {
      return reject(err);
      }

      return resolve(stats);
      });
      });
      }
      }


      I have developed a Jest test for this class and when I execute it, all tests pass without problems.
      When I execute the code inside Chrome, I get the following error.




      request.js:150 OPTIONS
      https://pysensors.azure-devices.net/statistics/devices?api-version=2018-06-30
      net::ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY




      I don't know if I have to configure something to make it works on all the recent versions of the browsers.
      I've found this forum post (somehow similar to this blog post) which talks about a cipher suite problem on the server side and to force the client to use HTTP1/1, but since I'm using the SDK, I have no control on how the request is performed.
      Thanks



      EDIT: Just discovered that the module I'm using is intended to be used just server side. Using Firefox I don't have the SPDY issue, anyway I get CORS issues since the Azure doesn't support it. I've read somewhere that it's on their roadmap, but not a top priority.







      azure-iot-hub azure-iot-sdk






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 22 '18 at 13:48







      Chris

















      asked Nov 22 '18 at 11:44









      ChrisChris

      348316




      348316
























          1 Answer
          1






          active

          oldest

          votes


















          0














          Official Microsoft's response:




          This happens to be a bug on IoTHub service side. IoTHub service does
          not support HTTP/2 protocol yet but due to the bug, we do return
          HTTP/2 as a supported protocol in ALPN extension during initial
          handshake. We are going to fix this bug soon but until then, you can
          configure your client to always use HTTP/1 protocol which is supported
          and works well.



          Please vote for this feature on Azure IoT Feedback channel so that we
          can prioritize it. Thanks!



          HTTP 2.0 support



          https://feedback.azure.com/forums/321918-azure-iot/suggestions/9958737-http-2-0-support



          Details:
          https://social.msdn.microsoft.com/Forums/azure/en-US/0cf59124-f8f0-4fb2-ba20-5666894341cb/errspdyinadequatetransportsecurity-error-on-rest-api-call-in-chrome?forum=azureiothub







          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53430294%2fgetting-err-spdy-inadequate-transport-security-in-chrome-using-azure-iothub-sdk%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Official Microsoft's response:




            This happens to be a bug on IoTHub service side. IoTHub service does
            not support HTTP/2 protocol yet but due to the bug, we do return
            HTTP/2 as a supported protocol in ALPN extension during initial
            handshake. We are going to fix this bug soon but until then, you can
            configure your client to always use HTTP/1 protocol which is supported
            and works well.



            Please vote for this feature on Azure IoT Feedback channel so that we
            can prioritize it. Thanks!



            HTTP 2.0 support



            https://feedback.azure.com/forums/321918-azure-iot/suggestions/9958737-http-2-0-support



            Details:
            https://social.msdn.microsoft.com/Forums/azure/en-US/0cf59124-f8f0-4fb2-ba20-5666894341cb/errspdyinadequatetransportsecurity-error-on-rest-api-call-in-chrome?forum=azureiothub







            share|improve this answer




























              0














              Official Microsoft's response:




              This happens to be a bug on IoTHub service side. IoTHub service does
              not support HTTP/2 protocol yet but due to the bug, we do return
              HTTP/2 as a supported protocol in ALPN extension during initial
              handshake. We are going to fix this bug soon but until then, you can
              configure your client to always use HTTP/1 protocol which is supported
              and works well.



              Please vote for this feature on Azure IoT Feedback channel so that we
              can prioritize it. Thanks!



              HTTP 2.0 support



              https://feedback.azure.com/forums/321918-azure-iot/suggestions/9958737-http-2-0-support



              Details:
              https://social.msdn.microsoft.com/Forums/azure/en-US/0cf59124-f8f0-4fb2-ba20-5666894341cb/errspdyinadequatetransportsecurity-error-on-rest-api-call-in-chrome?forum=azureiothub







              share|improve this answer


























                0












                0








                0







                Official Microsoft's response:




                This happens to be a bug on IoTHub service side. IoTHub service does
                not support HTTP/2 protocol yet but due to the bug, we do return
                HTTP/2 as a supported protocol in ALPN extension during initial
                handshake. We are going to fix this bug soon but until then, you can
                configure your client to always use HTTP/1 protocol which is supported
                and works well.



                Please vote for this feature on Azure IoT Feedback channel so that we
                can prioritize it. Thanks!



                HTTP 2.0 support



                https://feedback.azure.com/forums/321918-azure-iot/suggestions/9958737-http-2-0-support



                Details:
                https://social.msdn.microsoft.com/Forums/azure/en-US/0cf59124-f8f0-4fb2-ba20-5666894341cb/errspdyinadequatetransportsecurity-error-on-rest-api-call-in-chrome?forum=azureiothub







                share|improve this answer













                Official Microsoft's response:




                This happens to be a bug on IoTHub service side. IoTHub service does
                not support HTTP/2 protocol yet but due to the bug, we do return
                HTTP/2 as a supported protocol in ALPN extension during initial
                handshake. We are going to fix this bug soon but until then, you can
                configure your client to always use HTTP/1 protocol which is supported
                and works well.



                Please vote for this feature on Azure IoT Feedback channel so that we
                can prioritize it. Thanks!



                HTTP 2.0 support



                https://feedback.azure.com/forums/321918-azure-iot/suggestions/9958737-http-2-0-support



                Details:
                https://social.msdn.microsoft.com/Forums/azure/en-US/0cf59124-f8f0-4fb2-ba20-5666894341cb/errspdyinadequatetransportsecurity-error-on-rest-api-call-in-chrome?forum=azureiothub








                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 22 '18 at 16:36









                ChrisChris

                348316




                348316






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53430294%2fgetting-err-spdy-inadequate-transport-security-in-chrome-using-azure-iothub-sdk%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Tonle Sap (See)

                    I get strange results when I access the Sqlitedatabase with Unity C# via XAMPP

                    Guatemaltekische Davis-Cup-Mannschaft