2012-10-11 3 views
0

안녕하세요, 아래의 nginx 구성을 검토하십시오. 내 홈페이지에 가려고하면 http://mydomain.com 다음 오류가 발생합니다. Chrome 개발자 도구를 사용하여 리디렉션을 살펴보면 http://mydomain.comhttps://mydomain.com으로 이리저리 리디렉션되는 것을 알 수 있습니다. 내 소스 코드를 살펴 봤지만 리디렉션을 찾을 수 없습니다. ssl_requirement 플러그인을 사용하고 있습니다.오류 310. nginx + 레일이 너무 많은 리디렉션 3

도움을 주시면 대단히 감사하겠습니다.

Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects. 

다음은

server { 
    listen 80; 
    server_name www.mydomain.com; 
    rewrite ^/(.*) http://mydomain.com/$1 permanent; 
} 

server { 
    listen 80; 

    server_name mydomain.com; 

    access_log /var/www/mydomain/current/log/access.log; 
    root /var/www/mydomain/current/public; 

    passenger_enabled on; 
    passenger_use_global_queue on; 

    location ~ /\.ht { 
     deny all; 
    } 
} 

server { 
    listen 443; 

    ssl on; 
    ssl_certificate /home/ubuntu/ssl-cert/nopassphrase.pem; 
    ssl_certificate_key /home/ubuntu/ssl-cert/nopassphrase.key; 

    server_name www.mydomain.com; 
    rewrite ^/(.*) http://mydomain.com/$1 permanent; 
} 

server { 
    listen 443; 

    ssl on; 
    ssl_certificate /home/ubuntu/ssl-cert/nopassphrase.pem; 
    ssl_certificate_key /home/ubuntu/ssl-cert/nopassphrase.key; 

    server_name mydomain.com; 

    access_log /var/www/mydomain/current/log/access.log; 
    root /var/www/mydomain/current/public; 

    location ~* \.(ico|jpg|gif|png|css|js|swf|html)$ { 
     if (-f $request_filename) { 
     expires max; 
     break; 
     } 
    } 
    passenger_enabled on; 
    passenger_use_global_queue on; 

    location ~ /\.ht { 
     deny all; 
    } 
} 

답변

1

당신의 설정은 그 자체로 리디렉션되는 내 nginx를 구성 파일입니다.

http와 https를 동일한 서버 블록에 넣을 수 있습니다. 인증서는 자체 서명 된 인증서가 아니므로 체인 된 인증서 여야합니다.

server { 
    listen 80; 
    server_name www.mydomain.com; 
    rewrite ^/(.*) http://mydomain.com/$1 permanent; 
} 

server { 
    listen 80; 
    listen 443 ssl; 
    server_name mydomain.com; 
    ssl_certificate /home/ubuntu/ssl-cert/nopassphrase.pem; 
    ssl_certificate_key /home/ubuntu/ssl-cert/nopassphrase.key; 

    location ~* \.(ico|jpg|gif|png|css|js|swf|html)$ { 
     if (-f $request_filename) { 
      expires max; 
      break; 
     } 
    } 

    access_log /var/www/mydomain/current/log/access.log; 
    root /var/www/mydomain/current/public; 

    passenger_enabled on; 
    passenger_use_global_queue on; 

    location ~ /\.ht { 
     deny all; 
    } 
} 
관련 문제