전체 사이트를 보안 연결로 사용하려면 어떻게해야합니까? [닫은]


18

Drupal 7에서는 보안 로그인 모듈을 사용하여 사이트를 보안 연결로 실행했지만 로그 아웃시 http로 되돌아 가지 않는 것 같습니다. 전체 사이트를 단순화하기 위해 https : //로 실행하고 싶습니다.

모듈을 사용하지 않고 이것을 수행하는 간단한 방법이 있습니까?


오늘 방금 Htaccess module을 설치 하고 기존 설정을 변경하고이 프로필을 배포했습니다. ... 완벽하게 작동하는 것 같다
알렉세이 Zubenko

답변:



35

SSL을 사용하도록 모든 페이지를 리디렉션하려면 .htaccess파일에 추가 하십시오.

# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

이전에 다시 쓰지 않은 경우 바로 다음에 배치해야합니다 RewriteEngine on.


1

vhost 지시문을 변경하기 위해 Apache에 루트 액세스 권한이있는 경우 유용한 또 다른 트릭은 사이트의 SSL 지시문에이를 추가하는 것입니다. 대부분의 최신 브라우저는이 지침을 준수합니다 (IE9는 해당하지 않음)

Header always set Strict-Transport-Security "max-age=63072000"

나이를 원하는대로 설정할 수 있습니다. 이것이하는 일은 SSL을 사용하여 웹 사이트와 통신하고 평범한 HTTP는 절대로 사용하지 않도록 웹 브라우저에 알리는 것입니다. 이것은 전체 HTTP / HTTPS 전환 상황에 대해 약간의 확신을 추가합니다.

편리한 해킹입니다.

참고 : 이것은 사이트에 유효한 SSL 인증서 (자체 서명되지 않았거나 만료되지 않았거나 올바르지 않은)가있는 경우에만 작동합니다. 그렇지 않으면 최대 연령 기간이 만료 될 때까지 브라우저가 브라우저에 연결하지 못하게됩니다.


0

시도해 볼 수있는 또 다른 옵션이 있습니다. 설치 중 하나에 필요한 것이며 추가 모듈이 필요하지 않았습니다.

먼저 .htaccess에서 :

RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^www\.yourdomainhere\.com*
RewriteRule ^(.*)$ https://www.yourdomainhere.com/ [L,R=301]

다음에 추가해야합니다.

RewriteEngine on

그런 다음 settings.php에서 :

$base_url = 'https://www.yourdomainhere.com'; 

또한 인증서 경고를 피하기 위해 https 도메인에서 가져와야하는 웹 글꼴 및 기타 참조와 같은 외부 리소스를 확인할 수도 있습니다.

도움이 되었기를 바랍니다.


-2

$ _SERVER [ 'HTTPS'] = 'On';을 추가하는 또 다른 솔루션이 있습니다. settings.php 파일에서

https://www.drupal.org/https-information#comment-9901783 에서 더 많은 것을보십시오

그러나 htaccess 메소드는 무관하게 리디렉션되는 반면 settings.php 파일은 브라우저 캐시를 비워야합니다.


2
스스로 트릭을 수행하는 데 익숙하지 않았습니다. 드루팔 캐시를 비워야했지만 드루팔 페이지가 https로 제공되었지만 이미지와 같은 리소스는 그렇지 않았습니다. 로드되었지만 브라우저에 대해 콘솔에 경고하고 잠금 아이콘에 경고가 표시되었습니다. 올바른 자물쇠 아이콘을 얻으려면 Ricks 답변의 htaccess 지시문을 추가해야했습니다.
commonpike 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.