개발 Q&A

제목 브라우저에서 도메인 주소를 입력하면 자동으로 https주소로 연결하는 방법이 궁금합니다..
카테고리 서버
글쓴이 브레인토스트 작성시각 2016/12/16 22:15:35
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 23281   RSS

계속해서 질문해서 죄송합니다..

회사에서 일하는 중인데...

영어가 부족하다보니 자꾸 질문글을 올리게되네요.. 검색하다가 안되서..

 

현재 서버 운영중인 디렉토리  트리는 이렇습니다.

/var/www/html/CODEIGNITER/

/var/www/html/디렉토리가 아니라 여기서 움직입니다. 하나는

접속하는 주소는

www.domain.com/CODEIGNITER

www.domain.com

 

이렇게 두가지로 나뉘어있구요.

문제가되는건 CODEIGNITER는 아닙니다 .CODEIGNITER에서는 base_url에 https://www.domain.com/CODEIGNITER

이런식으로해주니 접속이되는것 같은데 이 부분도 수정하긴 해야할것같은데 잘 모르겠네요..

 

아무튼 원하는건 브라우저에 www.domain.com이라고 치면

https://www.domain.com으로 연결되는 그림을 생각하는데요.

 

/etc/apache2/sites-available/000-default.conf파일에

<VirtualHost *:80>

    ServerAdmin webmasster@localhost       

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log       

    CustomLog ${APACHE_LOG_DIR}/access.log combined      

    #Include conf-available/serve-cgi-bin.conf

</VirtualHost>

이렇게 되어있구요.

 

dafault-ssl.conf 파일에는

<Ifmodule mod_ssl.c>

<VirtualHost *:443>

ServerAdmin webmaster@localhost

DocumentRoot /var/www/html

SSLEngine on

SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem

SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

</VirtualHost>

</IfModule>

 

이렇게 되어있습니다.

 

ports.conf 파일에는

기본적으로 

Listen 80

밑에는 mod_ssl 모듈로

443을 Listen하고있습니다.

 

어떻게하면.. https로 바로 접속이될까요..

리다이렉션을 시켜봤지만 무한리다이렉션으로 서버접속이안됩니다.. ㅠ도와주세요...

 다음글 이 자바스크립트 언어는 무엇인가요? (1)
 이전글 apache2 에서 php 확장자를 없애고 접근하는 방... (1)

댓글

빛그림 / 2016/12/17 17:06:37 / 추천 0

<VirtualHost *:80>와 </VirtualHost> 사이에 아래 구문을 입력해 보시겠어요?

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [C]

브레인토스트 / 2016/12/19 10:14:31 / 추천 0

@빛그림

리디렉션 횟수가 너무많아서 서버접속이 안됩니다 ..ㅠ

Dexter / 2016/12/19 10:21:10 / 추천 0
index.php 파일 맨 처음부분에 아래놔 같이...

if($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'http') {
   $redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: $redirect");
   exit;
}
브레인토스트 / 2016/12/19 10:23:19 / 추천 0

@Dexter

모든 https를 위와 같이처리해야 하나요 ??

브레인토스트 / 2016/12/19 10:24:15 / 추천 0

@Dexter

https를 제가 적용해본적이 없어서요..

php 코드로까지 넘어가야하는건지..

Dexter / 2016/12/19 10:36:33 / 추천 0

몇번을 읽었는데 제가 이해력이 부족한거 같습니다. ^^;

어쨰든 www.domain.com 으로 접속을하면 https://www.domain.com 으로 접속되는거 같은데요.

빗그림님과 같이 mod_rewirte로 해결하시는게 좋을것 같은데 그게 불가능하면 php로 해결하라고 써드린거고요.

http://www.domain.com 으로 요청을 했는데 리다이렉션 없이 https가 붙을순 없으니까 어떠한 방식이던 페이지 이동이 이루어 져야할것 같습니다.

 

아래 링크를 참고해보시면 도움이 될것같네요.

https://www.sslshopper.com/apache-redirect-http-to-https.html

브레인토스트 / 2016/12/19 10:46:28 / 추천 0

@Dexter

제가 충분히 질문을 잘하지 못한것 같네요.. 음.. 왜자꾸 제가 리디렉션이 아닌 방법을 찾으려고 하는게..

제가 운영중인 사이트가 구글에 제품 이름을 검색했을때 노출이 안되더라구요. 관련 다른 사이트는 나오는데요.

아물론 이제품을 파는 사이트는 두개밖에 없습니다.

그래서 나와야하는게 사실 정상입니다.

그래서 이런 저런 이유로 안나올수도 있다하니 가장 잘걸리게끔 다 바꾸고 

사이트 앞단에서 리디렉션을 하는 부분이 있으면 사이트에 내용이 없기 때문에 구글에서 빈 사이트로 인지한다는 얘기가 있어서요.

https를 사용하기는 해야하는데 https로 리디렉션한다면 구글에 또 노출되지 않을까 우려되어서 그렇습니다.

제가 https를 적용해보지 않아서 실제로 어떤 방법이 정석인지 잘 모르기도 하고... 그러다보니 이해안되는 방법을 받아내려고 한 것 같네요.. 아무튼.. 말씀하신 사이트의 링크는 참고해서 virtual host 에 적용해봤는데 무한 리디렉션으로 서버접속이 안됩니다.

브레인토스트 / 2016/12/19 12:05:11 / 추천 0

@Dexter

말씀해주신 링크에 있는 내용은 000-default.conf 파일에 적용하니까 무한 리디렉션으로 접속이안됩니다..ㅠ

mod_rewrite를 사용하려고 .htaccess파일에 적용해도 무한 리디렉션이 됩니다..