Nginx no-www to www 및 www to no-www


497

튜토리얼에 따라 랙 공간 클라우드에서 nginx를 사용 하고 있으며 그물을 검색했지만 지금까지이를 정렬 할 수 없습니다.

SEO 및 기타 이유로 www.mysite.com이 .htaccess에서 정상적으로 mysite.com으로 이동하기를 원합니다.

/etc/nginx/sites-available/www.example.com.vhost 구성 :

server {
       listen 80;
       server_name www.example.com example.com;
       root /var/www/www.example.com/web;

       if ($http_host != "www.example.com") {
                 rewrite ^ http://example.com$request_uri permanent;
       }

나는 또한 시도했다

server {
       listen 80;
       server_name example.com;
       root /var/www/www.example.com/web;

       if ($http_host != "www.example.com") {
                 rewrite ^ http://example.com$request_uri permanent;
       }

나는 또한 시도했다. 두 번째 시도 모두 리디렉션 루프 오류를 발생시킵니다.

if ($host = 'www.example.com' ) {
rewrite ^ http://example.com$uri permanent;
}

내 DNS는 표준으로 설정되어 있습니다 :

site.com 192.192.6.8 A type at 300 seconds
www.site.com 192.192.6.8 A type at 300 seconds

(예제 IP 및 폴더는 예를 들어 향후 사람들을 돕기 위해 사용되었습니다). 우분투 11을 사용합니다.


1
WordPress 웹 사이트를 사용하는 경우를 확인 하고 WordPress 주소 / 사이트 주소 URL Dashboard > Settings > General Settings이 없는지 확인하십시오 www. nginx를 어떻게 구성하든,이 URL에 www가 있으면 www가있는 URL로 리디렉션됩니다.
Abhinav Sood

답변:


792

HTTP 솔루션

로부터 문서 , "올바른 방법은 example.org에 대해 별도의 서버를 정의하는 것입니다"

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

server {
    listen       80;
    server_name  www.example.com;
    ...
}

HTTPS 솔루션

포함하여 솔루션을 원하는 사람들을 위해 https://...

server {
        listen 80;
        server_name www.domain.com;
        # $scheme will get the http protocol
        # and 301 is best practice for tablet, phone, desktop and seo
        return 301 $scheme://domain.com$request_uri;
}

server {
        listen 80;
        server_name domain.com;
        # here goes the rest of your config file
        # example 
        location / {

            rewrite ^/cp/login?$ /cp/login.php last;
            # etc etc...

        }
}

참고 : https://우리는로드 밸런서를 사용하기 때문에 원래 솔루션에 포함하지 않았 으며 https : // 서버는 트래픽이 많은 SSL 지불 서버입니다 : 우리는 https : //와 http : //를 혼합하지 않습니다.


nginx 버전을 확인하려면을 사용하십시오 nginx -v.

nginx 리디렉션으로 URL에서 www 제거

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

server {
    server_name  domain.com;
    #The rest of your configuration goes here#
}

따라서 두 개의 서버 코드가 필요합니다.

nginx 리디렉션을 사용하여 URL에 www 추가

domain.com에서 www.domain.com으로 리디렉션하기 위해 반대로 필요한 경우 다음을 사용할 수 있습니다.

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

server {
    server_name  www.domain.com;
    #The rest of your configuration goes here#
}

당신이 상상할 수 있듯이, 이것은 정반대이며 첫 번째 예와 같은 방식으로 작동합니다. 이렇게하면 완벽한 파마 리디렉션 및 이동으로 SEO 마크를 얻을 수 없습니다. 아니 WWW가 강요되고 디렉토리가 표시됩니다!

더 나은보기를 위해 아래에 표시된 내 코드 중 일부 :

server {
    server_name  www.google.com;
    rewrite ^(.*) http://google.com$1 permanent;
}
server {
       listen 80;
       server_name google.com;
       index index.php index.html;
       ####
       # now pull the site from one directory #
       root /var/www/www.google.com/web;
       # done #
       location = /favicon.ico {
                log_not_found off;
                access_log off;
       }
}

3
@puk 감사합니다. Nginx는 놀랍지 만 서버 버전 및 OS 및 서버 하드웨어 변경 사항에 대한 최신 설명서는 매우 귀찮습니다. 나를 지원하는 가장 좋은 리소스는 RackSpace 클라우드 버전을 지원하는 howtoforge.com입니다. 위의 명령 중 일부는 이후 버전에서 작동하지 않습니다. 그러나이 nginx / 0.8.54-최고의 nginx 서버라고 생각합니다. 업그레이드하거나 업데이트 할 필요가 없습니다. 잘 작동합니다. 하루 평균 4200 건의 거래로 하루에 10 만 건의 조회수가 발생합니다. Nginx는 RAPID입니다. 트래픽이없는 사이트를 사용하는 것과 같습니다.
TheBlackBenzKid

17
에서와 같이 다시 쓰기가 반품이되어야합니다 return 301 $scheme://domain.com$request_uri;. 패턴을 캡처 할 필요가 없습니다. Nginx 함정
Roberto

4
@TheBlackBenzKid 죄송합니다. 뭔가를 놓쳤지만 업데이트 된 솔루션이 작동하지 않습니다. 80을 들으십시오. HTTP 와만 일치한다고 말하는 것입니다. HTTP 및 HTTPS에 동일한 구성을 사용하는 경우 수신 할 포트가 더 있어야합니다. 그러나 +1, 확실히 도움이되었습니다. 답변 감사합니다. 건배.
tomis

3
@TheBlackBenzKid 그것은 단지 메모였습니다. 작업 솔루션을 찾았습니다. 이 예에서는 Listen 443 만 추가하고 작업을 완료해야합니다.
Tomis

2
대답이 틀렸다. 모든 하위 도메인을 www로 리디렉션합니다.
r3wt

398

실제로 다시 작성하지 않아도됩니다.

server {
    #listen 80 is default
    server_name www.example.com;
    return 301 $scheme://example.com$request_uri;
}

server {
    #listen 80 is default
    server_name example.com;
    ## here goes the rest of your conf...
}

내 대답으로 점점 더 많은 표를 얻고 있지만 위도 마찬가지입니다. rewrite이 문맥에서 절대로 사용해서는 안됩니다 . 왜? nginx는 검색을 처리하고 시작해야하기 때문입니다. 당신이 사용하는 경우 return는 직접 실행을 중지 (모든의 nginx 버전에서 사용할 수 있어야합니다). 이것은 어떤 상황에서도 선호됩니다.

비 SSL 및 SSL을 모두 www가 아닌 ​​상대방에게 리디렉션하십시오.

server {
    listen               80;
    listen               443 ssl;
    server_name          www.example.com;
    ssl_certificate      path/to/cert;
    ssl_certificate_key  path/to/key;

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

server {
    listen               80;
    listen               443 ssl;
    server_name          example.com;
    ssl_certificate      path/to/cert;
    ssl_certificate_key  path/to/key;

    # rest goes here...
}

$scheme변수는 포함 http서버는 포트 80 (기본값)에서 수신되는 경우와는 포함하지 않는 옵션들을 ssl키워드를. 변수를 사용하지 않으면 성능이 향상되지 않습니다.

HSTS 헤더는 암호화되지 않은 연결을 통해 전송되어서는 안되므로 HSTS를 사용하는 경우 더 많은 서버 블록이 필요합니다. 따라서 리디렉션이있는 암호화되지 않은 서버 블록과 리디렉션 및 HSTS 헤더가있는 암호화 된 서버 블록이 필요합니다.

모든 것을 SSL로 리디렉션하십시오 (IPv4, IPv6, SPDY 등을 사용하는 UNIX의 개인 구성).

#
# Redirect all www to non-www
#
server {
    server_name          www.example.com;
    ssl_certificate      ssl/example.com/crt;
    ssl_certificate_key  ssl/example.com/key;
    listen               *:80;
    listen               *:443 ssl spdy;
    listen               [::]:80 ipv6only=on;
    listen               [::]:443 ssl spdy ipv6only=on;

    return 301 https://example.com$request_uri;
}

#
# Redirect all non-encrypted to encrypted
#
server {
    server_name          example.com;
    listen               *:80;
    listen               [::]:80;

    return 301 https://example.com$request_uri;
}

#
# There we go!
#
server {
    server_name          example.com;
    ssl_certificate      ssl/example.com/crt;
    ssl_certificate_key  ssl/example.com/key;
    listen               *:443 ssl spdy;
    listen               [::]:443 ssl spdy;

    # rest goes here...
}

나는 당신이 지금이 패턴을 가진 다른 화합물들을 상상할 수 있다고 생각합니다.

내 설정이 더 있습니까? 여기여기로 가십시오 .


3
HSTS를 사용중인 경우 Chrome을 www 도메인 으로 이동할 수 없습니다 . 가능한 한 많은 세부 정보가 포함 된 새 질문을 열어 주시면 도와 드리겠습니다 (여기에서 URL을 질문에 대한 의견으로 게시 할 수 있음).
Fleshgrinder

1
@Fleshgrinder 설정을 구현하려고하지만 stackoverflow.com/questions/29451409/ 에서 다음과 같은 문제가 발생 합니다 ... 작동하는 방법에 대한 아이디어가 있습니까?
YPCrumble

4
두 번째 블록 인 "비 SSL 및 SSL을 모두 www가 아닌 ​​상대방으로 리디렉션 :"에서 브라우저는 예제로 리디렉션하기 전에 www.example.com에 대한 인증서를 확인해야하므로 두 서버 블록 모두 SSL 지시문을 가져야합니다. .com.
Jeff Tsay

1
물론 HSTS에 대한 간단한 정보뿐만 아니라 추가했습니다.
Fleshgrinder

1
@YPCrumble 예, 우리는 각 요청에 대해 정규 표현식 일치를 수행하지 않기 때문에이 방법으로 훨씬 빠릅니다. 리디렉션해야한다는 것을 알고있는 경우에만 리디렉션합니다. 확인, 확인, 확인 없음 : 리디렉션 만 가능합니다. =)
Fleshgrinder

37

더 많은 도메인에 동일한 구성을 사용하고 싶을 수 있습니다.

다음 스 니펫은 도메인 전에 www를 제거합니다.

if ($host ~* ^www\.(.*)$) {
    rewrite / $scheme://$1 permanent;
}

7
전용 서버 블록보다이 방법이 더 좋습니다. 변경 http$scheme
ck_

2
훨씬 더 나은 것은 너무 많은 사람들이이 작업을 위해 도메인을 구성으로 하드 코딩한다고 믿을 수는 없습니다.
MrYellow

1
@Oli 그 링크는 (오늘 현재) 성능에 대한 언급이 아니라 100 % 안전하지 않다는 것입니다. "위치 컨텍스트에서 다음 return ...과 같은 경우 내부에서 수행 할 수있는 유일한 100 % 안전한 작업은 rewrite ... last"입니다. 성능 문제에 대한 업데이트 된 링크가 있습니까?
Adam

1
이것은 나를 위해 작동하지 않았습니다. 브라우저에서 잘못된 응답을 나타내는 오류가 발생했습니다.
Nico Brenner

1
불행히도, "if"가 없으면 방법을 찾지 못했습니다. 많은 도메인에 동일한 구성을 사용하며 도메인 이름을 하드 코딩하는 것은 옵션이 아닙니다. 어떤 제안이나 의견을 부탁드립니다!
Martin Höger

27

두 개의 서버 블록이 필요합니다.

이것을 구성 파일에 넣으십시오. /etc/nginx/sites-available/sitename

http://example.com 을 기본 주소로 사용 하기로 결정했다고 가정 해 보겠습니다 .

설정 파일은 다음과 같아야합니다 :

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

        # this is the main server block
        # insert ALL other config or settings in this server block
}

첫 번째 서버 블록은 접두사 'www'로 모든 요청을 리디렉션하는 지침을 보유합니다. 접두사가 'www'인 URL 요청을 수신하고 리디렉션합니다.

다른 것은 없습니다.

두 번째 서버 블록에는 기본 URL (사용하려는 URL)이 있습니다. 다른 모든 설정은 여기에 같이 가고 root, index, location서버 블록에 포함시킬 수있는 이러한 다른 설정의 기본 파일을 확인, 등.

서버에는 두 개의 DNS A 레코드가 필요합니다.

Name: @ IPAddress: your-ip-address (for the example.com URL)

Name: www IPAddress: your-ip-address (for the www.example.com URL)

ipv6의 경우, ipv6-address를 사용하여 AAAA 레코드 쌍을 작성하십시오.


23

여러 www에서 no-www 서버 이름으로 사용하는 방법은 다음과 같습니다 (하위 도메인에 사용).

server {
        server_name 
             "~^www\.(sub1.example.com)$"
             "~^www\.(sub2.example.com)$"
             "~^www\.(sub3.example.com)$";
         return 301 $scheme://$1$request_uri ;
}

20
  1. 모범 사례 : 별도의 server하드 코딩server_name

nginx의 모범 사례는 server이와 같은 리디렉션 ( server기본 구성 과 공유되지 않음)에 대해 별도의 방법을 사용하여 모든 것을 하드 코딩하고 정규식을 전혀 사용하지 않는 것입니다.

제공 할 인증서를 미리 알아야하므로 HTTPS를 사용하는 경우 도메인을 하드 코딩해야 할 수도 있습니다.

server {
    server_name www.example.com;
    return  301 $scheme://example.com$request_uri;
}
server {
    server_name www.example.org;
    return  301 $scheme://example.org$request_uri;
}
server {
    server_name example.com example.org;
    # real configuration goes here
}

  1. 내에서 정규 표현식 사용 server_name

많은 사이트가 있고 최고의 성능을 신경 쓰지 않지만 www.접두사 와 관련하여 모든 사이트에서 동일한 정책을 갖기 를 원한다면 정규식을 사용할 수 있습니다. 별도의 방법을 사용하는 것이 가장 좋습니다 server.

https를 사용하면이 솔루션이 까다로워집니다. 제대로 작동하려면 모든 도메인 이름을 포괄 할 수있는 단일 인증서가 있어야하기 때문입니다.


wwwwwww / 전용 하나의 정규식 server모든 사이트에 대해 :

server {
    server_name ~^(?!www\.)(?<domain>.+)$;
    return  301 $scheme://www.$domain$request_uri;
}

www비에 www전용 하나의 w / 정규식 server모든 사이트에 대해 :

server {
    server_name ~^www\.(?<domain>.+)$;
    return  301 $scheme://$domain$request_uri;
}

www비에 www최선을 다하고에서 w / 정규식 server일부 사이트 :

이 도메인의 몇, 당신은 일치로이 같은 것을 사용할 수 있습니다 충당하기 위해 정규식을 제한 할 필요가있을 수있다 www.example.org, www.example.com그리고 www.subdomain.example.net:

server {
    server_name ~^www\.(?<domain>(?:example\.org|example\.com|subdomain\.example\.net))$;
    return  301 $scheme://$domain$request_uri;
}

nginx로 정규 표현식 테스트

pcretest시스템 에서 정규 표현식이 예상대로 작동하는지 테스트 할 수 있습니다 . 이는 pcrenginx가 정규 표현식에 사용하는 것과 정확히 동일한 라이브러리입니다.

% pcretest 
PCRE version 8.35 2014-04-04

  re> #^www\.(?<domain>(?:example\.org|example\.com|subdomain\.example\.net))$#
data> test
No match
data> www.example.org
 0: www.example.org
 1: example.org
data> www.test.example.org
No match
data> www.example.com
 0: www.example.com
 1: example.com
data> www.subdomain.example.net
 0: www.subdomain.example.net
 1: subdomain.example.net
data> subdomain.example.net
No match
data> www.subdomain.example.net.
No match
data> 

"Host"헤더에 후행 점이있는 경우 nginx 서버 이름 정규식에 따라 nginx가 이미 처리하므로 후행 점 또는 대소 문자를 걱정할 필요가 없습니다 .


  1. if기존 server/ HTTPS 내에 뿌 립니다 :

이 최종 솔루션은 일반적으로 모범 사례로 간주되지는 않지만 여전히 작동하고 작동합니다.

실제로 HTTPS를 사용하는 경우이 최종 솔루션을 유지 관리하기가 더 쉬울 수 있습니다. 다른 server정의 사이에 전체 ssl 지시문을 복사하여 붙여 넣을 필요가 없으며 대신 스 니펫을 필요한 서버를 통해 사이트를보다 쉽게 ​​디버깅하고 유지 관리 할 수 ​​있습니다.


wwwwww:

if ($host ~ ^(?!www\.)(?<domain>.+)$) {
    return  301 $scheme://www.$domain$request_uri;
}

www아닌 www:

if ($host ~ ^www\.(?<domain>.+)$) {
    return  301 $scheme://$domain$request_uri;
}

단일 선호 도메인 하드 코딩

단일 도메인에서 server사용할 수 있는 여러 도메인 간의 일관성뿐만 아니라 약간의 성능을 원한다면 단일 단일 도메인 을 명시 적으로 하드 코딩하는 것이 좋습니다.

if ($host != "example.com") {
    return  301 $scheme://example.com$request_uri;
}

참고 문헌 :


16

이 솔루션은 제 개인적인 경험에서 비롯됩니다. S3 "Host"헤더 정책 과 일치 non-www하도록 www도메인 이름으로 리디렉션 하기 위해 여러 Amazon S3 버킷과 하나의 서버를 사용했습니다 .

nginx 서버에 다음 구성을 사용했습니다 .

server {
    listen 80;
    server_name ~^(?!www\.)(?<domain>.+)$;
    return 301 $scheme://www.$domain$request_uri;
}

이는 서버를 가리키는 모든 도메인 이름과 일치하지만 www.로 리디렉션됩니다 www.<domain>. 같은 방식으로에서 (으) www로 반대 리디렉션을 수행 할 수 있습니다 non-www.


https는 어떻습니까? 참고 : https 인증서가 필요 합니다
Toskan

여기서는 HTTPS에 아무런 문제가 없습니다. 후에 listen 80당신은 추가 할 필요가 listen 443 ssl다음과 ssl_certificatessl_certificate_key지침.
VisioN

요즘에는 아무도 http를 사용하지 않습니다. listen 443 ssl certficate가 누락 된 추가 줄을 사용 하여 예제를 보여주는 Google의 상위 목록 가이드를 읽었습니다 . 그것은 작동 하지 않으며 심각한 두통을 유발하고 있습니다.
Toskan

무슨 말을하는지 모르겠습니다. 이 구성은 거의 3 년 동안 성공적으로 작동했습니다. 작년에 SSL에 대한 지원을 추가했으며 예상대로 작동합니다. 물론 개인 키가있는 인증서가 있어야합니다.
VisioN

www를 제외한 모든 하위 도메인을 방해합니다. 맞습니까?
Metagrapher

15

나는 하드 코딩 된 도메인없이 모든 간단한 답변 중 가장 좋은 것을 결합했습니다.

비 www에서 www 로의 301 영구 리디렉션 (HTTP 또는 HTTPS) :

server {
    if ($host !~ ^www\.) {
        rewrite ^ $scheme://www.$host$request_uri permanent;
    }

    # Regular location configs...
}

비 HTTPS, 비 www에서 HTTPS로, www를 동시에 리디렉션하려면 다음을 수행하십시오.

server {
    listen 80;

    if ($host !~ ^www\.) {
        rewrite ^ https://www.$host$request_uri permanent;
    }

    rewrite ^ https://$host$request_uri permanent;
}

11

www가 아닌 ​​사이트를 www로 리디렉션

단일 도메인의 경우 :

server {
        server_name example.com;
        return 301 $scheme://www.example.com$request_uri;
}

모든 도메인의 경우 :

server {
        server_name "~^(?!www\.).*" ;
        return 301 $scheme://www.$host$request_uri;
}

단일 도메인의 경우 www를 www가 아닌 ​​www로 리디렉션 :

server {
        server_name www.example.com;
        return 301 $scheme://example.com$request_uri;
}

모든 도메인의 경우 :

server {
         server_name "~^www\.(.*)$" ;
         return 301 $scheme://$1$request_uri ;
}

80과 (와)의 차별화를 제공 할 수 443있습니까?
Hassan Baig

1
그것은 listen나를 위해 지시 없이 작동하는 것 같습니다 (nginx 1.4.6).
이브라힘

11

이 시도

    if ($host !~* ^www\.){
        rewrite ^(.*)$ https://www.yoursite.com$1;
    }

다른 방법 : Nginx no-www to www

server {
  listen       80;
  server_name  yoursite.com;
  root /path/;
  index index.php;
  return       301 https://www.yoursite.com$request_uri;
}

그리고 www를 no-www로

server {
  listen       80;
  server_name  www.yoursite.com;
  root /path/;
  index index.php;
  return       301 https://yoursite.com$request_uri;
}

저자는 왜 nginx에 if 문을 제공 한 다음 사람들에게 피하지 말라고 했습니까? 저에게 들리는 소리.
Greg Smethells

4
"위치에있는 경우 악인"이라고 표시되어 있습니다. 당신은 안전하게 서버 블록에 넣을 수 있습니다
Kukunin

위의 링크에서 직접 인용 ... 위치 맥락에서 내부에서 수행 할 수있는 유일한 100 % 안전한 것들 : return ...; 다시 쓰기 ... 마지막;
Justin E

8

고유 한 형식 :

server {
  listen 80;
  server_name "~^www\.(.*)$" ;
  return 301 https://$1$request_uri ;
}

1
이런 식으로 작성하면 일반적으로 만들 수 있습니다. server { server_name "~^www\.(.*)$" ; return 301 $scheme://$1$request_uri ; }
Ramast

5
location / { 
    if ($http_host !~ "^www.domain.com"){ 
        rewrite ^(.*)$ $scheme://www.domain.com/$1 redirect; 
    } 
}

1
$scheme://www.domain.com$1이중 슬래시를 피하기 위해
karimhossenbux

3

누군가가 301을 반환하는 것이 옳을지도 모른다는 것을 확신하지 못하더라도 브라우저는 수행에 질식합니다.

rewrite ^(.*)$ https://yoursite.com$1; 

다음보다 빠릅니다.

return 301 $scheme://yoursite.com$request_uri;


1
내 의견은 nginx 측의 효율성이 아닌 브라우저로 보내졌습니다! 리다이렉트를 할 때 브라우저는 리 위트 할 때 2 개의 요청과 1 개의 요청을 만듭니다
steven

2

고스트 블로그

return 301 $scheme://example.com$request_uri;Ghost 를 사용하여 nginx 권장 방법을 만들 려면 기본 서버 블록에 추가해야합니다.

proxy_set_header    X-Real-IP           $remote_addr;
proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
proxy_set_header    Host                $http_host;
proxy_set_header    X-Forwarded-Proto   $scheme;
proxy_set_header    X-NginX-Proxy       true;

proxy_pass_header   X-CSRF-TOKEN;
proxy_buffering     off;
proxy_redirect      off;  

2

도메인 이름을 하드 코딩하지 않으려면이 리디렉션 블록을 사용할 수 있습니다. 선행 www가없는 도메인은 변수로 저장되며 $domain리디렉션 문에서 재사용 할 수 있습니다.

server {
    ...
    # Redirect www to non-www
    if ( $host ~ ^www\.(?<domain>.+) ) {
       rewrite ^/(.*)$ $scheme://$domain/$1;
    }
}

REF : nginx에서 정규 표현식으로 하위 도메인 리디렉션


0
if ($host ~* ^www.example.com$) {
    return 301 $scheme://example.com$request_uri;
}

-6

이 작업을 수행하는 데 문제가 있으면 서버의 IP 주소를 추가해야 할 수도 있습니다. 예를 들면 다음과 같습니다.

server {
listen XXX.XXX.XXX.XXX:80;
listen XXX.XXX.XXX.XXX:443 ssl;
ssl_certificate /var/www/example.com/web/ssl/example.com.crt;
ssl_certificate_key /var/www/example.com/web/ssl/example.com.key;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}

여기서 XXX.XXX.XXX.XXX는 IP 주소입니다 (분명히).

참고 : https 요청을 올바르게 리디렉션하려면 SSL crt 및 키 위치를 정의해야합니다.

변경 후 nginx를 다시 시작하는 것을 잊지 마십시오 :

service nginx restart

3
/etc/init.d/nginx reload당신은 할 수 있습니다 reload서버도 이는 다운 타임이 발생하지 않습니다.
TheBlackBenzKid
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.