2016-09-01 4 views
0

나는모든 트래픽을 https로 리디렉션합니다. Nginx에

다음의 .conf 파일이 매우 가깝습니다. 상관없이 사용자 유형에 https://example.com 모든 트래픽을 리디렉션하지하려고하지만 http://example.com

당신은 내가에서 변경하는 것이 무엇을 제안 잡을하지 않습니다 모든 트래픽이 https://example.com으로 리디렉션되도록 하시겠습니까?

감사합니다.

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

server { 
    server_name example.com; 
    access_log /var/log/nginx/example-access.log; 
    error_log /var/log/nginx/example-error.log; 
    root /var/www/html/web; 

    index index.html index.htm index.php; 

    location/{ 
     try_files $uri $uri/ /index.php$uri?$args; 
    } 

    rewrite ^/backend\.php/?(.*)$ /$1 permanent; 

    location /admin { 
     index admin content backend.php; 
     try_files $uri @rewriteapp; 
    } 

    location @rewriteapp { 
     rewrite ^(.*)$ /backend.php/$1 last; 
    } 

    location ~ "^(.+\.php)($|/)" { 
     fastcgi_split_path_info ^(.+\.php)(.*)$; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_param SCRIPT_NAME $fastcgi_script_name; 
     fastcgi_param PATH_INFO $fastcgi_path_info; 
     fastcgi_pass 127.0.0.1:9000; 
     include  fastcgi_params; 
    } 
} 

답변

1

http://example.com에 대한 다른 서버 레코드를 추가하십시오.

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

또한, 메인 서버 기록은 포트 443에서 수신 확인하십시오, 그래서이 추가 :

listen 443 ssl; 
+0

은 사이트를 완전히 죽입니다. 그것은 중복 server_name – smugford

+0

불평은 불평하지 않지만 그것은 사이트를 완전히 걸립니다. – smugford

+0

'sudo nginx -t'는 무엇을 출력합니까? – ollpu

0

를 사용하여 별도의 서버 블록.

server { 
    listen 80; 
    server_name www.example.com 
       example.com; 
    return 301 https://example.com$request_uri; 
} 
server { 
    listen 443; 
    server_name www.example.com; 
    return 301 https://example.com$request_uri; 
} 
server { 
    server_name example.com; 
    access_log /var/log/nginx/example-access.log; 
    error_log /var/log/nginx/example-error.log; 
    root /var/www/html/web; 

    index index.html index.htm index.php; 

    location/{ 
     try_files $uri $uri/ /index.php$uri?$args; 
    } 

    rewrite ^/backend\.php/?(.*)$ /$1 permanent; 

    location /admin { 
     index admin content backend.php; 
     try_files $uri @rewriteapp; 
    } 

    location @rewriteapp { 
     rewrite ^(.*)$ /backend.php/$1 last; 
    } 

    location ~ "^(.+\.php)($|/)" { 
     fastcgi_split_path_info ^(.+\.php)(.*)$; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_param SCRIPT_NAME $fastcgi_script_name; 
     fastcgi_param PATH_INFO $fastcgi_path_info; 
     fastcgi_pass 127.0.0.1:9000; 
     include  fastcgi_params; 
    } 
} 
관련 문제