title: What is --openssl-legacy-provider in Node.js v17?
body: <p>I was building a simple React app using Tailwind. I used create-react-app and then installed tailwind. I have done this many times before.</p>
  <p>In order to install Tailwind, I also had to install craco and change package.json &quot;scripts&quot; to use craco, like so:</p>
  <pre><code>&quot;scripts&quot;: {
      &quot;start&quot;: &quot;craco start&quot;,
      &quot;build&quot;: &quot;craco build&quot;,
      &quot;test&quot;: &quot;craco test&quot;,
      &quot;eject&quot;: &quot;react-scripts eject&quot;
    }
  </code></pre>
  <p>However, this time, when I ran <code>npm start</code>, I got an error that I had never encountered before:</p>
  <pre><code>Error: error:0308010C:digital envelope routines::unsupported
  </code></pre>
  <p>So I searched on StackOverflow and someone suggested adding <code>--openssl-legacy-provider</code> to my &quot;start&quot; script like this:</p>
  <pre><code>&quot;scripts&quot;: {
      &quot;start&quot;: &quot;craco --openssl-legacy-provider start&quot;,
      &quot;build&quot;: &quot;craco build&quot;,
      &quot;test&quot;: &quot;craco test&quot;,
      &quot;eject&quot;: &quot;react-scripts eject&quot;
    }
  </code></pre>
  <p><strong>And it's working now. But can somebody please explain to me what <code>--openssl-legacy-provider</code> actually is and how it works?</strong></p>