title: Http 404 on Azure Websites for react app
body: <p>I have published a react app which works locally to an azure website, I checked the files on the KUDU dashboard, and I can see the files there and the index.html</p>
  
  <p>However, I cant browse to the site, not even directly to the .html file.</p>
  
  <p>I created this web.config, but I guess I am missing some configuration</p>
  
  <p>
  
  
  <pre><code> https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config
  </code></pre>
  
  <p>--></p>
  
  <pre><code>&lt;configuration&gt;
    &lt;system.webServer&gt;
      &lt;!-- Visit http://blogs.msdn.com/b/windowsazure/archive/2013/11/14/introduction-to-websockets-on-windows-azure-web-sites.aspx for more information on WebSocket support --&gt;
      &lt;webSocket enabled="false" /&gt;
      &lt;handlers&gt;
        &lt;!-- Indicates that the server.js file is a node.js site to be handled by the iisnode module --&gt;
        &lt;add name="iisnode" path="server.js" verb="*" modules="iisnode"/&gt;
      &lt;/handlers&gt;
      &lt;rewrite&gt;
        &lt;rules&gt;
          &lt;!-- Do not interfere with requests for node-inspector debugging --&gt;
          &lt;rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true"&gt;
            &lt;match url="^server.js\/debug[\/]?" /&gt;
          &lt;/rule&gt;
  
          &lt;!-- First we consider whether the incoming URL matches a physical file in the /public folder --&gt;
          &lt;rule name="StaticContent"&gt;
            &lt;action type="Rewrite" url="public{REQUEST_URI}"/&gt;
          &lt;/rule&gt;
  
          &lt;!-- All other URLs are mapped to the node.js site entry point --&gt;
          &lt;rule name="DynamicContent"&gt;
            &lt;conditions&gt;
              &lt;add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/&gt;
            &lt;/conditions&gt;
            &lt;action type="Rewrite" url="server.js"/&gt;
          &lt;/rule&gt;
        &lt;/rules&gt;
      &lt;/rewrite&gt;
  
      &lt;!-- 'bin' directory has no special meaning in node.js and apps can be placed in it --&gt;
      &lt;security&gt;
        &lt;requestFiltering&gt;
          &lt;hiddenSegments&gt;
            &lt;remove segment="bin"/&gt;
          &lt;/hiddenSegments&gt;
        &lt;/requestFiltering&gt;
      &lt;/security&gt;
  
      &lt;!-- Make sure error responses are left untouched --&gt;
      &lt;httpErrors existingResponse="PassThrough" /&gt;
  
      &lt;!--
        You can control how Node is hosted within IIS using the following options:
          * watchedFiles: semi-colon separated list of files that will be watched for changes to restart the server
          * node_env: will be propagated to node as NODE_ENV environment variable
          * debuggingEnabled - controls whether the built-in debugger is enabled
  
        See https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config for a full list of options
      --&gt;
      &lt;!--&lt;iisnode watchedFiles="web.config;*.js"/&gt;--&gt;
    &lt;/system.webServer&gt;
  &lt;/configuration&gt;
  </code></pre>