Подтвердить что ты не робот

Получить угловую подачу через HTTPS

Следующее, кажется, ничего не делает.

ng serve --ssl true --ssl-key <key-path> --ssl-cert <cert-path>

Создание сертификата и ключа путем предоставления их в каталоге ssl по умолчанию все еще ничего не делает. Похоже, что ng server полностью игнорирует параметр --ssl и постоянно говорит, что NG Live Development Server is running on http://localhost:4200.

4b9b3361

Ответ 1

Угловой CLI 6+

Я обновил свои собственные проекты, поэтому я решил, что теперь могу обновить и этот ответ.

Теперь вы поместите путь к своему ключу и сертификату в файл angular.json следующим образом:

{
   "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
   "projects": {
       "<PROJECT-NAME>": {
           "architect": {
               "serve: {
                   "options": {
                       "sslKey": "<relative path from angular.json>/server.key",
                       "sslCert": "<relative path from angular.json>/server.crt",
                       ...
                   }, ...
               }, ...
           }, ...
       }, ...
   }, ...
}

И тогда вы можете запустить:

ng serve --ssl

Если вы хотите, чтобы SSL был включен по умолчанию, вы должны добавить "ssl": true, опцию сразу под sslKey и sslCert.

Вы можете найти схему angular.json в документации по Angular CLI.

Старый ответ для Angular CLI 1.0. 0+.

Angular-CLI теперь работает с опциями SSL. Как вы уже заметили, вы можете вручную выбрать, какой ключ и сертификат вы хотите использовать с командой:

ng serve --ssl --ssl-key <key-path> --ssl-cert <cert-path>

Если вы хотите установить путь по умолчанию для вашего ключа и сертификата, то вы можете перейти в свой файл .angular-cli.json, соответственно скорректировав раздел Defaults:

{
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "defaults": {
        "serve": {
            "sslKey": "<relative path from .angular-cli.json>/server.key",
            "sslCert": "<relative path from .angular-cli.json>/server.crt",
            ...
        }, ...
    }, ...
}

И тогда вы можете запустить:

ng serve --ssl

Если вы хотите, чтобы SSL был включен по умолчанию, вы должны добавить "ssl": true, опцию сразу под sslKey и sslCert.

Ответ 2

JFYI, в Angular6 вы должны поставить conf в настройках (в angular.json):

"serve": {
    "builder": "@angular-devkit/build-angular:dev-server",
    "options": {
        "browserTarget": "app:build",
        "ssl": true,
        "sslKey": "path to .key",
        "sslCert": "path to .crt"
    },
    ...
}

Ответ 4

Очень простое решение с этой страницы

npm установить браузер-синхронизация --save-dev

ng serve --ssl true --ssl -key/node_modules/browser-sync/lib/server/certs/server.key --ssl -cert/node_modules/browser-sync/lib/server/certs/server.crt

Быстрый и жирный) Просто использовал его в моем проекте angular cli 6.2.3

Ответ 5

Вы правы. Текущая реализация не учитывает параметры конфигурации ssl под учетной записью. Я создал запрос pull, который устраняет эту проблему. Однако на момент написания этой статьи он еще не был объединен с мастером.

Ответ 6

Угловой CLI 1.0. 0+.

ng serve --ssl 1 --ssl -ключ {{key -path}} --ssl -cert {{cert -path}}

Угловой CLI 6+

ng serve --ssl true --ssl Key {{key -path}} --ssl Cert {{cert -path}}

Измените значения в {{* -path}} на соответствующие значения.

Ответ 8

Вы можете использовать

--ssl

или

"serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "someapp:build",
            "ssl": true
          },

и ssl-сертификат будет создан автоматически для вас.

Затем для Chrome, чтобы принять самоподписанный сертификат для localhost, см. Этот SO