2017-05-05 6 views
0

그래서 난 내 laravel 응용 프로그램에 cloudflare에서 HTTPS/SSL을 추가하려고 자산 파일을로드 할 수 있으며 자동으로 HTTP에서 모든 요청을 리디렉션 HTTPS하지만 난, 내 모든 자산 파일 (CSS, JS 이미지) HTTP하고 그래서로드를 거부하고 내가 콘솔에서

혼합 된 내용이 오류를 얻고 새로운 문제를 가지고 : 페이지를 'https://sm-trust.com/'에 있었다 HTTPS를 통해로드되었지만 안전하지 않은 스타일 시트 'http://sm-trust.com/css/bootstrap.min.css'을 요청했습니다. 이 요청은 차단되었습니다. HTTPS를 통해 콘텐츠가 제공되어야합니다. JS

내 모든 CSS를 포함한 블레이드를 사용하고

, 이미지

{{ HTML::style('css/bootstrap.min.css', array(), true) }} 

해결 방법을 하는가? 그래서 자동으로 여기 HTTPS

와 자산을로드 할 것은 Laravel의 documentation을 바탕으로 내 전체 htaccess로

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] 

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

답변

0

안전한 웹 사이트는 프로토콜을 혼합 할 수 없습니다. 모든 것은 보안 서버에서 임베드되어야합니다. 브라우저는 HTTPS 페이지에서 HTTP 리소스를 무시하거나 차단합니다 (엄격 성의 정도는 다양 함).

이 차단 이유는 스타일 시트와 스크립트와 같은 안전하지 않은 HTTP 리소스가 여전히 공격자에 의해 수정되어 사이트의 보안 부분을 스푸핑/하이재킹하는 데 사용되기 때문입니다.

스타일 시트가 서버에서 제공되는 경우 URL의 protocol + host 부분을 생략하십시오. 즉, http://example.com/style.css 대신 /style.css를 사용하면 HTTP 및 HTTPS 모두에서 작동합니다. 프로토콜 기준 URL을 사용할 수도 있습니다.

하나의 전체 URL이 있어야하는 경우 https : // ... URL 만 사용하십시오.

0

, 당신은 네 번째 매개 변수는 수이

echo link_to_asset('foo/bar.zip', $title, $attributes = array(), $secure = null); 

과 같은 작업을 수행 할 수 있습니다 보안 자산을로드합니다.

관련 문제

 관련 문제