Skip to content

webpack5: devserver does not work with --cacert CLI option  #2996

@rytnkmr

Description

@rytnkmr
  • Operating System: macOS Catalina 10.15.7
  • Node Version: 10.15.7
  • NPM Version: 7.5.2
  • webpack Version: 5.21.1
  • webpack-dev-server Version: 3.11.2
  • Browser: -
  • This is a bug
  • This is a modification request

Code

// webpack.config.js
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {
  mode: 'development',
  plugins: [new webpack.ProgressPlugin(), new HtmlWebpackPlugin({
            template: 'index.html'
          })],
  module: {
    rules: []
  },
  devServer: {
    open: true,
    host: 'localhost'
  }
}

Expected Behavior

dev-server is served and cacert.pem is used

Actual Behavior

image

log is below:

0 verbose cli [
0 verbose cli   '/Users/rytnkmr/.nodebrew/node/v14.15.4/bin/node',
0 verbose cli   '/Users/rytnkmr/.nodebrew/node/v14.15.4/lib/node_modules/npm/bin/npm-cli.js',
0 verbose cli   'exec',
0 verbose cli   '--',
0 verbose cli   'webpack',
0 verbose cli   'serve',
0 verbose cli   '--https',
0 verbose cli   '--cert',
0 verbose cli   'localhost.crt',
0 verbose cli   '--key',
0 verbose cli   'localhost.key',
0 verbose cli   '--cacert',
0 verbose cli   'cacert.pem'
0 verbose cli ]
1 info using npm@7.5.2
2 info using node@v14.15.4
3 timing config:load:defaults Completed in 0ms
4 timing config:load:file:/Users/rytnkmr/.nodebrew/node/v14.15.4/lib/node_modules/npm/npmrc Completed in 0ms
5 timing config:load:builtin Completed in 0ms
6 timing config:load:cli Completed in 2ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/Users/rytnkmr/dev/experiments/myproject/.npmrc Completed in 0ms
9 timing config:load:project Completed in 0ms
10 timing config:load:file:/Users/rytnkmr/.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:/Users/rytnkmr/.nodebrew/node/v14.15.4/etc/npmrc Completed in 1ms
13 timing config:load:global Completed in 1ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 0ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 5ms
19 verbose npm-session b0d13c6ffd6bd81f
20 timing npm:load Completed in 11ms
21 timing command:exec Completed in 806ms
22 verbose stack Error: command failed
22 verbose stack     at ChildProcess.<anonymous> (/Users/rytnkmr/.nodebrew/node/v14.15.4/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/index.js:64:27)
22 verbose stack     at ChildProcess.emit (events.js:315:20)
22 verbose stack     at maybeClose (internal/child_process.js:1048:16)
22 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
23 verbose pkgid my-webpack-project@1.0.0
24 verbose cwd /Users/rytnkmr/dev/experiments/myproject
25 verbose Darwin 19.6.0
26 verbose argv "/Users/rytnkmr/.nodebrew/node/v14.15.4/bin/node" "/Users/rytnkmr/.nodebrew/node/v14.15.4/lib/node_modules/npm/bin/npm-cli.js" "exec" "--" "webpack" "serve" "--https" "--cert" "localhost.crt" "--key" "localhost.key" "--cacert" "cacert.pem"
27 verbose node v14.15.4
28 verbose npm  v7.5.2
29 error code 2
30 error path /Users/rytnkmr/dev/experiments/myproject
31 error command failed
32 error command sh -c webpack "serve" "--https" "--cert" "localhost.crt" "--key" "localhost.key" "--cacert" "cacert.pem"
33 verbose exit 2

I added devServer.ca property in the configuration file and tried without --cacert option, then it works.

// webpack.config.js
  devServer: {
    ca: 'cacert.pem', // add
    open: true,
    host: 'localhost'
  }
npx webpack serve --https --cert localhost.crt --key localhost.key

For Bugs; How can we reproduce the behavior?

start devServer with --cacert option

npx webpack serve --https --cert [path to cert] --key [path to key] --cacert [path to cacert]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions