簡體   English   中英

通過HTTPS訪問Azure ubuntu虛擬機

[英]HTTPS access to Azure ubuntu Virtual Machine

我有一個在Microsoft azure上運行的Ubuntu VM。 目前,我可以使用HTTP來訪問它,但是不能使用HTTPS來訪問它。 在網絡接口中,入站端口規則443已被允許。

我已經通過創建密鑰庫和證書將證書添加到VM中,並按照以下文檔為部署做准備:

az keyvault update -n <keyvaultname> -g <resourcegroupname> --set properties.enabledForDeployment=true

然后根據此答案添加證書。

在Azure CLI中:

$secret=$(az keyvault secret list-versions \
          --vault-name <keyvaultname> \
          --name <certname> \
          --query "[?attributes.enabled].id" --output tsv)
$vm_secret=$(az vm secret format --secret "$secret")

az vm update -n <vmname> -g <keyvaultname> --set osProfile.secrets="$vm_secret"

我收到以下錯誤:

Unable to build a model: Cannot deserialize as [VaultSecretGroup] an object of type <class 'str'>, DeserializationError: Cannot deserialize as [VaultSecretGroup] an object of type <class 'str'>

但是,當我在那之后執行az vm show -g <resourcegroupname> -n <vmname> ,在osProfile ,機密已經包含了我添加的機密

"secrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/<subsID>/resourceGroups/<resourcegroupName>/providers/Microsoft.KeyVault/vaults/sit-key-vault"
        },
        "vaultCertificates": [
          {
            "certificateStore": null,
            "certificateUrl": "https://<keyvaultname>.vault.azure.net/secrets/<certname>/<certhash>"
          }
        ]
      }
    ],

使用HTTPS訪問時,我失敗了。 我可以使用HTTP訪問它,但是chrome仍然在地址旁邊顯示“不安全”標記。

我錯過了什么?

我還檢查了類似問題的答案 ,但在VM控制面板頁面的任何位置都找不到“啟用直接服務器返回”。

據我所知,我們可以按照以下步驟為nginx服務器配置SSL。

  1. 添加SSl證書

    $ secret = $(az密鑰庫機密列表版本--vault-name“ keyvault_name” --name“證書名稱” --query“ [?attributes.enabled] .id” --output tsv)

    $ vm_secret = $(az vm機密格式--secrets“ $ secret”)

    az vm update -n“ VM名稱” -g“資源組名稱” --set osProfile.secrets =“ $ vm_secret”

  2. 安裝Nginx

    sudo apt-get更新

    須藤apt-get install nginx

  3. 配置SSL證書

      #get cert name find /var/lib/waagent/ -name "*.prv" | cut -c -57 #paste cert mkdir /etc/nginx/ssl cp “your cert name” /etc/nginx/ssl/mycert.cer cp “your cert name” /etc/nginx/ssl/mycert.prv #change nginx configuration file sudo nano /etc/nginx/sites-available/default PS: add the next content in the file server { listen 443 ssl; ssl_certificate /etc/nginx/ssl/mycert.cert; ssl_certificate_key /etc/nginx/ssl/mycert.prv; } service nginx restart 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM