2017-10-30 4 views
1

Nginx 서버의 .conf 파일에 어려움을 겪고 있습니다.Nginx 서버 : www, ip 및 nons ssl 리디렉션

http://example.com 
http://www.example.com 
https://www.example.com 
http://11.111.11.11 
https://11.111.11.11 

에 : https://example.com

그래서 내가 뭘하려고 오전 내 서버의 모든 비 SSL URL, www가 접두사로 URL을 리디렉션 내가이 URL을 리디렉션하는 동안 리디렉션 루프 오류를 얻고있다 IP 주소를 내 도메인 이름으로 변경하십시오. 여기 내 코드입니다 :

# redirect ip to domain name 
server { 
    listen    80; 
    listen    443 ssl; 
    server_name   11.111.11.11; #server_ip 
    ssl_certificate  /etc/letsencrypt/live/mydomain.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; 

    return 301 $scheme://mydomain.com$request_uri; 
} 

# HTTP — redirect all traffic to HTTPS 
server { 
    listen    80; 
    listen    443 ssl; 
    server_name   www.mydomain.com; 
    ssl_certificate  /etc/letsencrypt/live/mydomain.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; 

    return 301 $scheme://mydomain.com$request_uri; 
} 

# HTTPS — proxy all requests to the Node app 
server { 
    # Enable HTTP/2 
    listen 443 ssl http2; 
    listen [::]:443 ssl http2; 
    server_name mydomain.com; 

    # Use the Let’s Encrypt certificates 
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; 

    # Include the SSL configuration from cipherli.st 
    include snippets/ssl-params.conf; 

    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-NginX-Proxy true; 
     proxy_pass http://localhost:5000/; 
     proxy_ssl_session_reuse off; 
     proxy_set_header Host $http_host; 
     proxy_cache_bypass $http_upgrade; 
     proxy_redirect off; 
    } 
} 
+0

예를 들어 [다음과 같은] 기본 서버 (https://stackoverflow.com/questions/43081780/dns-records-redirect-www-to-non-www/43089681#43089681)를 사용할 수 있습니다. 모든 것을 귀하의 진정한 영역으로 리디렉션하십시오. –

답변