Ошибка 'net :: ERR_CERT_COMMON_NAME_INVALID' с Nginx и Webpack-Dev-Server - PullRequest
0 голосов
/ 16 марта 2019

У меня следующая проблема.Я пытаюсь создать .NET Core Web-API и внешний интерфейс Vue-SPA.

Для этой цели я использую Nginx в качестве сервера на моей машине с Windows.

Для этого .NET создайте для меня SSL-сертификат.Это было сгенерировано в certmgr в папке собственные сертификаты.

Чтобы сгенерировать сертификат для Nginx, я экспортировал этот сгенерированный файл и следовал этому руководству для его преобразования.

https://blog.knoldus.com/easiest-way-to-setup-ssl-on-nginx-using-pfx-files/

Итак, я получил свой cert.crt и cert.RSA.Оба я использую для Ngnix.Все отлично работает для Web-API.Но во внешнем интерфейсе я всегда получаю следующую ошибку

sockjs.js? 9be2: 1605 GET https://192.168.178.145:8081/sockjs-node/info?t=1552754433422 net :: ERR_CERT_COMMON_NAME_INVALID

Итак, веб-пакет-У dev-сервера возникли проблемы с подключением.Но я не понимаю, почему.Что я делаю не так в этом случае?

Это моя конфигурация Nginx

server {
        listen       58000 ssl;
        server_name  localhost;

        ssl_certificate      domain.crt;
        ssl_certificate_key  domain.rsa;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            #proxy_buffering    off;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   Host      $host;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass https://localhost:8081/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }

        location /api {
            proxy_pass https://127.0.0.1:5001;
        }
    }

И в моем webpack-dev-сервере я использую следующее

module.exports = {
    devServer: {
      https: {
        key: fs.readFileSync('path\\domain.rsa'),
        cert: fs.readFileSync('path\\domain.crt'),
      }
    }
  }

Так что для меня это выглядит так, как будто есть некоторые проблемы с сертификатом.Но почему происходит сбой только в веб-сокетах, а не в остальных?

Извините, я новичок в SSL и Nginx.

1 Ответ

2 голосов
/ 16 марта 2019

sockjs.js? 9be2: 1605 GET https://192.168.178.145:8081/sockjs-node/info?t=1552754433422 net :: ERR_CERT_COMMON_NAME_INVALID

Это показывает, что вы используете 192.168.178.145 в качестве имени хоста

    server_name  localhost;

Это показывает, что nginx ожидает localhost в качестве имени хоста

    ssl_certificate      domain.crt;

Неясно, какое действительно имя вы настроили в сертификате, но оноочень вероятно, что это не 192.168.178.145.Таким образом, ошибка.

    listen       58000 ssl;

И это показывает, что ваш nginx прослушивает порт 5800. URL-адрес из сообщения об ошибке вместо этого для порта 8081. Это может означать, что конфигурация nginxвы показываете, не имеет ничего общего с сервером, к которому фактически осуществляется доступ - я понятия не имею, какой сервер находится на порту 8081.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...