XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.

centos + nginx 사용중이에요.

 

원래 aaa.bbb.com 을 사용하고 있었고 도메인을 ccc.com 으로 변경함

 

그후 aaa.ccc.com 에 ssl 인증서 적용.

 

https://aaa.ccc.com , https://ccc.com 으로 접속하면 정상 접속됨

 

그런데 http://aaa.ccc.com , http://ccc.com 으로 접속하면

400 bad request(The plain HTTP request was sent to HTTPS port) 오류 발생 ㅠㅠ

 

에러로그 확인하니 conflicting server name "aaa.ccc.com" on 0.0.0.0:443, ignored 이렇게 뜨네요

 

nginx 설정은

 

server {

   listen   80;

   server_name aaa.bbb.com;

   return 301 https://aaa.ccc.com$request_uri;

}

 

server {

   listen  443 ssl http2;

   server_name ccc.com;

   ,,,,

}

 

server {

   listen 443 ssl http2;

   server_name aaa.ccc.om;

  ,,,,

}

 

 

http://aaa.bbb.com 접속시 https://aaa.ccc.com 으로 접속가능 하게 하려면 어캐해야될까요

 

서버 블록에 ccc.com bbb.com 등 https 로 리다이렉트 시키도록 설정해도 400번에러뜨네요.

 

 

 

 

 

 

 

 

  • profile
    기진곰 2016.09.02 11:40:53

    listen 443 ssl http2; 바로 윗줄에 listen 80; 도 하나씩 붙여주세요.

    그렇지 않으면 https로만 접속 가능하고 http로는 접속할 수 없는 도메인이 되어 버립니다.

    예:

    server {

       listen 80;

       listen 443 ssl http2;

       server_name ccc.com;

       ,,,,

    }

     

    conflicting server name 오류는 혹시 aaa.ccc.com을 사용하는 다른 server { } 가 있는지 확인해 보세요.

     

    참고로 443번 포트에 여러 server { }를 붙여놓으면 IE8 이하 버전에서는 접속이 안될 수도 있습니다.

    (단, 와일드카드 또는 멀티도메인 인증서 사용시 괜찮음)

  • ?
    뚜방 2016.09.02 12:00:41
    listen 80; 을 붙여도 http접속안돼는건 머가 문제일까옷 ㅜ

위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...