에 따르면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
www.joycegroup.org그 자체만으로는 (www가 없는) Joycegroup.org가 유효한 DNS 레코드라는 의미는 아닙니다.
도메인 루트(도메인의 최상위(루트라고도 함)에서 CNAME 레코드를 사용할 수 없는 이유는 무엇입니까?), 따라서 A 레코드가 필요합니다.
와 같은 다양한 방법으로 DNS 확인 문제임을 보여줄 수 있습니다 curl https://joycegroup.org
. 이 표시되면 curl: (6) Could not resolve host: joycegroup.com; Name or service not known
DNS 문제입니다.
두 경우 모두 nslookup이나 호스트 또는 dig를 실행하고 출력을 비교하여 두 레코드 간의 차이와 관련된 DNS 문제인지 추가로 확인할 수 있습니다.
몇 가지 예:
host
(리눅스):
$ host <record with www>
<record with www> has address 192.168.1.10
$ host <record without www>
<no output is shown>
nslookup
(리눅스):
$ 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;
}