Nginx는 www.myserver.org 외에는 어떤 서비스도 제공하지 않습니다.

Nginx는 www.myserver.org 외에는 어떤 서비스도 제공하지 않습니다.

에 따르면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 knownDNS 문제입니다.

두 경우 모두 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;
}

관련 정보