2017-01-21 1 views
0

현재 파일 저장 서버로 실행되는 라즈베리 파이 (32GB) 및 보조 서버 (4TB)에서 메인 서버를 실행 중입니다. 두 서버 모두 Apache2가 설치된 Debian Linux를 실행하고 있습니다.다른 포트 apache2를 실행하는 보조 서버의 리소스에 액세스하십시오.

홈페이지 서버 :이 코드와 메인 서버에 보조 서버에서 PHP 출력을 가지고 성공했습니다

<?php 
    $results = file_get_contents('http://example.org:700/handle.php'); 
    echo $results; 
?> 

보조 서버가

<?php 
    header('Access-Control-Allow-Origin: http://example.org'); 

    //Rest of code 
?> 

그래서 나는이 문제에 온 곳 메인 서버는 보조 서버에서 사진을 보여주고 mp3/wav를 재생할 수 있지만 제 경우에는 FLAC (자바 스크립트 코드가 약간 있음)과 작동하지 않습니다.

XMLHttpRequest cannot load http://example.org:700/music/soundfile.flac. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.org' is therefore not allowed access. 

자바 스크립트 코딩에 아무런 문제가 없다는 것을 알고 있습니다. 예를 들어 Debussy_-_Pour_les_accords.flac과 같은 다른 웹 사이트의 음악을 재생할 수 있기 때문입니다.

단순히 두 서버 간의 모든 트래픽이 Access-Allow-Origin 오류없이 안전하도록하고 싶습니다. 이 문제를 해결하는 데 도움이 될 수있는 apache2.conf 또는 다른 구성 파일의 내용입니까? 그것은 보이는

답변

0

https://stackoverflow.com/a/35707821/6802309

간단. 하단에이 코드에 넣어

  • /etc/apache2/apache2.conf

    1. sudo는 나노 :

    을 이이 문제를 해결하는 방법입니다. 오류

  • 확인 sudo를 a2enmod 헤더 수행합니다 : sudo는 apachectl을 -k 우아한

  • sudo는 서비스 아파치를 다시로드

    <IfModule mod_headers.c> 
        Header set Access-Control-Allow-Origin: "http://example.org" 
        Header set Access-Control-Allow-Credentials: true 
        Header set Access-Control-Expose-Headers: "Content-Length" 
        Header set Access-Control-Allow-Methods: "POST, GET, PUT, OPTIONS, DELETE, HEAD" 
        Header set Access-Control-Allow-Headers: "Range" 
    </IfModule> 
    
  • 는 설정 파일의 헤더를 사용

    1. sudo는 서비스 아파치를 다시 시작

    완료