web-dev-qa-db-ja.com

要求されたアドレスを割り当てることができません

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;
        #...
}

最後の2つのオクテットがポートであるIPv6アドレスを使用することは、他のサービスでも魅力のように機能します。他のサービスは:443またはそのアドレスを使用しません(それについて言及していないip addr showを介して確認されます)。

2
dom0

サーバーがそのインターフェースの1つで実際に構成していないアドレスにlistenすることはできません。そして、あなたはあなたのサーバーのネットワークインターフェースがそのアドレスのために構成されていないと言いました。

この問題を解決するには、そのアドレスをネットワークインターフェイス構成に追加します。

また、nginxを任意のアドレスにバインドすることも検討する必要があります。 listen [::]:443 ssl

3
Michael Hampton