2014-05-13 1 views
0

나는 이것을 Serverfault에 넣을 지 Stackoverflow에 넣을 지 확실하지 않았다. 그것은 서버 문제가되지 않는 것 같아서 여기에 최선을 다하겠습니다.Firefox www가 없으면 "연결할 수 없습니다"?

저는 현재 대학 웹 사이트에서 일하고 있으며, www를 사용하지 않는 한 Firefox가 사이트로드를 거부합니다 (예 : www.university.edu). 다른 모든 브라우저는 university.edu를 받아들이고 nginx가하도록 설정된대로 www.university.edu로 리디렉션됩니다. 내의 nginx의 구성 :

server { 
    listen 80; 
    server_name university.edu www; 
    rewritei ^http://www.university.edu$request_uri? permanent; 
} 
server { 
    listen 80; 
    server_name www.university.edu static.university.edu m.university.edu www.university.com; 
    . 
    . 
    . 
} 

그래서 어떻게해야하는지 요청이 들어오고, 두 번째 블록을 www.university.edu 잡는다되고 모든 것이 정상적으로 실행되지만 때입니다 요청이 들어오고있는 경우 university.edu 첫 번째 블록은 그것을 잡아서 두 번째 블록으로 리디렉션합니다. 그러나 어떤 이유로 파이어 폭스는 이것을하지 않습니다.

어떤 아이디어로 인해이 문제가 발생할 수 있습니까?

업데이트 1 : rewritei의 철자가 틀리지 않았습니다. 대학의 nginx는 regex case insensitive를 가능케하기 위해 컴파일되기 전에 변경되었고 "rewritei"라는 함수 아래에 위치했다. 또한 사이트에서 놀고 난 후에 나는 www.university.edu에서 사이트를 방문한 다음 university.edu를로드하려고 시도하지만 캐시를 지우고 university.edu를 방문하려고하면 www.university.edu를 방문 할 때까지로드하십시오.

답변

0

오타가 있습니다. "다시 작성"하고 www를 제거하십시오.

server { 
    listen 80; 
    server_name university.edu; 
    return 301 http://www.university.edu$request_uri; 
} 

또한 재 작성에 함정을 살펴 -

+0

http://wiki.nginx.org/Pitfalls#Taxing_Rewrites는 사실 내가 정규식 문자를 구분 재 작성 능력의 nginx 컴파일하고 그 정확한 그래서 rewritei 이름. 두 번째로 www는 웹 사이트의 바로 가기입니다 (www에 jus를 입력하면 www.university.edu로 연결됩니다). "return 301 ..."은 유감스럽게도 도움이되지 않았습니다. –

+0

액세스가 로그에 캡처 되었습니까? Firefox HTTP 응답 헤더는 어떻게됩니까? 리디렉션 또는 연결할 수 없음을 표시합니까? –

+0

액세스 로그가 도움이되지 않습니다. 몇 초 내에 백업하고 지우고 broswer 페이지를 새로 고치는 데 걸리면 로그에 800 건의 요청이 있습니다 (바쁜 사이트). Firefox의 응답 헤더의 경우. FF는 http://university.edu에 GET 요청을 보내지 만 응답 패널은 그냥 비어 있습니다. –

관련 문제