2017-10-19 1 views
0

저는 Nginx를 처음 사용하고 하위 도메인을 올바르게 처리하는 방법을 찾으려고합니다. 달성하고자하는 것은 메인 도메인 example.com은 항상 https://www.example.com으로 리디렉션되지만 서브 도메인은 sub.example.com이어야하며 https://sub.example.com으로 항상 리디렉션되어야합니다. 현재 설정에서는 첫 번째 요구 사항이 충족되지만 sub.example.com은 항상 https://www.sub.example.com으로 리디렉션됩니다. 구성상의 문제점은 무엇이며 어떻게 해결할 수 있습니까?nginx - 기본 도메인 만 www가 아닌 ​​하위 도메인으로 리디렉션합니다.

미리 감사드립니다. Fabian.


내 두 개의 서버 설정 파일 :

server { 
    listen 80; 
    listen [::]:80; 
    server_name example.com www.example.com; 
    return 301 https://www.$host$request_uri; 
} 

server { 
    listen 443 ssl http2; 
    server_name example.com; 
    ssl_certificate /path/on/my/server/to/certificate.pem; 
    ssl_certificate_key /path/on/my/server/to/privatekey.pem; 
    return 301 https://www.$host$request_uri; 
} 


server { 
    listen 443 default_server ssl http2; 
    listen [::]:443 default_server ssl http2; 
    server_name www.example.com; 
    ssl_certificate /path/on/my/server/to/certificate.pem; 
    ssl_certificate_key /path/on/my/server/to/privatekey.pem; 

    root /var/www/html; 
    index index.html index.htm index.nginx-debian.html; 

    location/{ 
     try_files $uri $uri/ =404; 
     index index.php index.html index.htm; 
    } 
} 


하위

기본

server { 
    listen 80; 
    listen [::]:80; 
    server_name sub.example.com; 
    return 301 https://$host$request_uri; 
} 

server { 

    listen 443 ssl; 
    listen [::]:443 ssl; 
    server_name sub.example.com; 
    ssl_certificate /path/on/my/server/to/subcertificate.pem; 
    ssl_certificate_key /path/on/my/server/to/subprivatekey.pem; 

    root /var/www/sub; 

    location/{ 
     index index.php index.html index.htm; 
     try_files $uri = 404; 
    } 

    location ~ \.php$ { 
     try_files $uri = 404; 
     include fastcgi_params; 
     fastcgi_pass unix:/var/run/php7-fpm-web1.sock; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; 
    } 
} 
+0

귀하의 현재 구성도'www.example.com'을'www.www.example.com'으로 리디렉션합니다. 'sub' 설정 파일이로드되고있는 것이 확실합니까? 시도해보십시오 :'nginx -t'와'nginx -T' –

+0

예, 구성 파일이로드되고 이상하게도 브라우저 캐시를 지운 후에 작동합니다 ... – FTFT1234

답변

0

다른 사람에게이 문제가 발생하면 브라우저 캐시를 지워보십시오.

관련 문제