2017-01-21 6 views
0

Ich verwende derzeit einen Hauptserver von einem Raspberry Pi (32 GB) und einem sekundären Server (4 TB), der als Dateispeicherserver ausgeführt wird. Auf beiden Servern läuft Debian Linux mit installiertem Apache2. Ich war erfolgreich PHP Ausgabe von sekundären Server Hauptserver mit diesem Code zu bringen:Zugriff auf Ressourcen des sekundären Servers mit anderem Port apache2

Hauptserver:

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

Secondary Server

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

    //Rest of code 
?> 

Also habe ich das Problem kam, wo die Der Hauptserver könnte Bilder anzeigen und mp3/wav vom sekundären Server abspielen, aber in meinem Fall würde es nicht mit FLAC funktionieren (mit ein bisschen JavaScript-Code), es zeigte mir einfach diesen Fehler:

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. 

Ich weiß, es ist nichts falsch mit der Javascript-Codierung, weil es Musik von anderen Websites wie diesem Beispiel abspielen wird: Debussy_-_Pour_les_accords.flac und hat früher gut funktioniert.

Ich möchte einfach zulassen, dass der gesamte Datenverkehr zwischen den beiden Servern sicher und ohne Access-Allow-Origin-Fehler ist. Ist es etwas in der apache2.conf oder anderen Konfigurationsdateien, die mir helfen können, dieses Problem zu lösen?

Antwort

0

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

so einfach, wie es aussieht. dies ist, wie dieses Problem zu beheben:

  1. sudo nano /etc/apache2/apache2.conf

  2. in diesem Code am unteren Rand Put:

.

<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. aktivieren Header in der Konfigurationsdatei: sudo a2enmod Header

  2. prüfen Fehler machen: sudo apachectl -k anmutigen

  3. sudo Service apache2 reload

  4. sudo Service apache2 Neustart

Erledigt

Verwandte Themen