Nginx

無法分配請求的地址

  • October 3, 2013

openssl req -new -x509 -days 8192 -newkey rsa:4096 -extensions v3_ca -config conf/caconfig.cnf -keyform PEM -keyout private/key.ca.pem -outform PEM -out certs/crt.ca.pem

我現在將 nginx 與 IPv6 結合使用,暫時沒有任何問題,但是在嘗試部署 SSL 時它失敗了bind() to [...]:443 failed (99: Cannot assign requested address)

nginx 配置(沒有伺服器名稱等):

# Works like a charm
server {
       listen          80;
       listen          [2a03:4000:2:3c8:6e65:6f6b:6572:80]:80;
       return 301 https://$host$request_uri;
}

# Cannot assign requested address
server {
       listen          443 ssl;
       listen          [2a03:4000:2:3c8:6e65:6f6b:6572:443]:443 ssl;
       #...
}

使用最後兩個八位字節作為埠的 IPv6 地址也可以像其他服務一樣使用。沒有其他服務使用 :443 或該地址(通過ip addr show不提及來驗證)。

您不能listen使用您的伺服器實際上沒有在其介面之一上配置的地址。你說你的伺服器的網路介面沒有為那個地址配置。

要解決此問題,請將該地址添加到您的網路介面配置中。

您還應該考慮讓 nginx 綁定到任何地址,例如使用listen [::]:443 ssl.

引用自:https://serverfault.com/questions/543451