Как легко включить функцию azure https при локальном тестировании - PullRequest
1 голос
/ 18 июня 2020

Я хочу протестировать Azure Запуск Http функции локально на windows.

Я использую azure -function-core-tools для запуска таких команд, как func start --port 5007 --useHttps

И то я получил ошибку: автоматическое создание сертификата в настоящее время не работает в сборке. NET Core.

Похоже, что я должен использовать команду типа func start --port 5007 --useHttps --cert certificate.pfx после того, как я создаю самозаверяющий сертификат локально.

Если есть способ легко включить https?

Как и при использовании. net core webapi, я легко экспортирую env: ASPNETCORE_URLS = https://localhost . И после нажатия какой-то кнопки я могу хорошо использовать https. У нас есть что-нибудь вроде этого?

Или, если func start --port 5007 --useHttps достаточно, но я пропустил некоторую конфигурацию?

Спасибо!

1 Ответ

1 голос
/ 19 июня 2020

Обновить ответ:

func start --port 5007 --useHttps не будет автоматически c создавать сертификат после azure функции v1. Инструменты azure function v2 и azure function v3, основанные на. Net Core не будут создавать сертификат для вас. Сертификат необходимо сгенерировать вручную.

Исходный ответ:

Я могу воспроизвести вашу ошибку:

enter image description here

Решение:

Используйте администратора, чтобы запустить PowerShell, go в папку приложения-функции, а затем используйте эту команду:

$cert = New-SelfSignedCertificate -Subject localhost -DnsName localhost -FriendlyName "Functions Development" -KeyUsage DigitalSignature -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1")

И затем создайте файл сертификата :

Export-PfxCertificate -Cert $cert -FilePath certificate.pfx -Password (ConvertTo-SecureString -String 123 -Force -AsPlainText)

Наконец, я могу использовать https: (команда ниже выполняется в windows cmd.)

func host start --port 5007 --useHttps --cors * --cert certificate.pfx --password 123

enter image description here

...