によるnginx ドキュメント、以下のサーバーブロックは両方で機能するはずですhttps://joycegroup.orgそしてhttps://www.joycegroup.org
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/joycegroup_org_chain.crt;
ssl_certificate_key /etc/ssl/private/joycegroup_org.key;
root /var/www/joycegroup_org/;
server_name joycegroup.org www.joycegroup.org;
location / {
index index.html index.htm index.html index.php;
}
}
それはhttps://www.joycegroup.org、 ないhttps://joycegroup.org何が間違っているのでしょうか?
最終的には http を https にリダイレクトすることも必要ですが、まずはこの問題を解決しようとしています。
基本的な質問で申し訳ありません。何時間も頭を壁にぶつけていました。
答え1
ジョイスグループそれだけでは、joycegroup.org (www なし) が有効な DNS レコードであることを意味するわけではありません。
ドメインのルートにCNAMEレコードを設定することはできないことに注意してください(CNAME レコードをドメインの頂点 (ルート) で使用できないのはなぜですか?) の場合は、A レコードが必要です。
DNS 解決の問題であることは、 などのさまざまな方法で示せますcurl https://joycegroup.org
。 が表示される場合curl: (6) Could not resolve host: joycegroup.com; Name or service not known
、それは DNS の問題です。
さらに、両方のケースで nslookup または host または dig を実行し、出力を比較することで、2 つのレコードの違いに関連する DNS の問題であることを確認できます。
いくつかの例:
host
(Linux):
$ host <record with www>
<record with www> has address 192.168.1.10
$ host <record without www>
<no output is shown>
nslookup
(Linux):
$ nslookup <record without www>
Server: <dns server ip>
Address: <dns server ip>#53
*** Can't find <record without www>: No answer
$ nslookup <record with www>
Server: <dns server ip>
Address: <dns server ip>#53
Name: <record with www>
Address: 192.168.1.10
nslookup
(ウィンドウズ):
C:\Users\myuser> nslookup <record without www>
Server: <dns server>
Address: <dns server ip>
Name: <record without www>
IP アドレスは表示されないことに注意してください。各ゾーンには独自のレコードがあるため、何かが返されますが、これは A レコード (IP アドレスに関連付けられている) ではなく、SOA レコードです。
一方、実際に存在する A レコードを照会すると、次のような典型的な応答が返されます。
C:\Users\myuser>nslookup <record with www>
Server: <dns server>
Address: <dns server ip>
Name: <record with www>
Address: 192.168.1.10
答え2
の回答のとおりA. Darwin
、 の DNS レコードが設定されていませんjoycegroup.org
:
c-nan@mba-c-nan ~ % dig www.joycegroup.org A +short
50.116.60.151
c-nan@mba-c-nan ~ % dig joycegroup.org A +short
c-nan@mba-c-nan ~ %
次のDNS Aレコードを追加する必要があります
joycegroup.org IN A 50.116.60.151
DNSプロバイダーで:
c-nan@mba-c-nan ~ % dig joycegroup.org NS +short
dns1.registrar-servers.com.
dns2.registrar-servers.com.
c-nan@mba-c-nan ~ %
すべての http トラフィックを https にリダイレクトする場合は、次のように設定します。
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
ドメインを指定するには、次を使用できます。
server {
listen 80;
server_name www.joycegroup.com joycegroup.com;
return 301 https://joycegroup.com$request_uri;
}