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번에러뜨네요.
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 이하 버전에서는 접속이 안될 수도 있습니다.
(단, 와일드카드 또는 멀티도메인 인증서 사용시 괜찮음)