azure - 是否可以在本地使用 SSL 运行 Azure Function 应用程序?

标签 azure macos ssl .net-core azure-functions

我有一个 Azure 函数应用。它适用于本地 HTTP。它也适用于生产。我正在尝试在本地使用 HTTPS 运行它。我创建了一个证书,但它仍然在浏览器上显示证书错误。我也尝试将我的证书添加到 KeyChain Access,但结果是一样的。
如何在本地使用 SSL 证书运行我的函数?
我正在尝试从我的移动应用程序访问我的服务,但 android 不允许我调用 HTTP 端点。
谢谢。

最佳答案

需要正确设置命令行参数,然后可以在 Visual Studio 中使用 HTTPS 启动 Azure Functions 并利用断点调试,而无需在 Visual Studio 中附加 func 进程。

  • 安装本地 Azure Function 开发工具 :
    Microsoft Azure 存储资源管理器
    微软 Azure 存储模拟器
    Install the Azure Functions Core Tools
    或者npm install -g azure-functions-core-tools
  • 安装 Azure Functions Visual Studio 扩展

  • Azure Functions 和 Web Jobs Tools 需要作为扩展安装在 Visual Studio 中。
    enter image description here
  • 将 Azure Functions 项目配置为使用 HTTPS

  • 创建证书并将其添加到操作系统。openssl genrsa -des3 -passout pass:x -out server.pass.key 2048openssl rsa -passin pass:x -``in server.pass.key -out server.keyopenssl req -``new -key server.key -out server.csropenssl x509 -req -sha256 -days 365 -``in server.csr -signkey server.key -out server.crt或者New-SelfSignedCertificate -DnsName "server.com"``, "server.com" -CertStoreLocation "cert:\LocalMachine\My"Get the thumbprint for later use$mypwd = ConvertTo-SecureString -String "1111" -Force -AsPlainTextGet-ChildItem -Path cert:\localMachine\my\``"thumbprint from above" | Export-PfxCertificate -FilePath C:\server.pfx -Password $mypwd
  • 复制pfx文件到 Function 项目,然后配置属性以将其复制到输出。

  • enter image description here
  • 为调试配置命令行参数。
  • 应用程序参数以 开头主持人 在 Visual Studio 中而不是 func !这将是 功能 在命令行中。

  • enter image description here
    或者只是在 launchSettings.json 中设置它
    {
    
    "profiles"``: {
    "FunctionApp1": {
    "commandName":` "Project",
    "commandLineArgs": "host start --useHttps --cert \"server.pfx\" --password \"1111\""
            }
        }
    }
    
    使用 Visual Studio 启动 Azure Function 项目时,将使用 HTTPS URL。这可以在启动后打开的命令行窗口中进行检查。当我们从 Visual Studio 开始时,现在可以进行断点调试。
    enter image description here
    如果您从控制台使用 启动它func start –useHttps –cert “server.pfx” –password “1111” ,您需要附加func进程进行断点调试以使用Visual Studio。

    关于azure - 是否可以在本地使用 SSL 运行 Azure Function 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70786488/

    相关文章:

    node.js - 在documentdb中备份

    node.js - 使用 IISNode 将使用 loopback.io 生成到 Azure 的托管 API

    azure - 用于网站 Azure 服务结构的 SSL

    postgresql - 无法使用 IntelliJ IDEA 的 ssl 连接到 Postgresql

    ssl - Typo3 多域与 ssl : TOO_MANY_REDIRECTS

    azure - 数百个 Service Fabric 证书错误

    azure - 如何解决 ARM 模板中的 'resource is not defined in the template.' 错误?

    macos - 获取从另一个用户运行的应用程序的包标识符

    c - 如何在 Mac OS X 中获得与 Linux gcc/gnu crypt(3) 相同的 crypt(3) 函数? Linux gcc crypt(3) 有 MD5 和 SHA512。 Apple Gcc crypt(3) *仅* 使用 DES

    macos - 如何从主机上的docker exec的pid检索docker容器名称(MacOS)