簡體   English   中英

訪問運行不同端口apache2的輔助服務器的資源

[英]Access resources of secondary server running different port apache2

我目前正在從樹莓派(32 GB)運行主服務器,並作為文件存儲服務器運行輔助服務器(4 TB)。 兩台服務器都運行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(帶有一些javascript代碼)一起使用,它只是顯示我這個錯誤:

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.

我知道javascript編碼沒有問題,因為它可以播放其他網站的音樂,例如本例: Debussy _-__ Pour_les_accords.flac ,並且在較早之前就可以正常工作。

我只是想允許兩台服務器之間的所有流量安全,並且沒有Access-Allow-Origin錯誤。 apache2.conf或其他配置文件中的內容可以幫助我解決此問題嗎?

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

看起來很簡單。 這是解決此問題的方法:

  1. 須藤納米/etc/apache2/apache2.conf

  2. 將此代碼放在底部:

<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 a2enmod標頭

  2. 檢查錯誤嗎:sudo apachectl -k graceful

  3. sudo服務apache2重新加載

  4. sudo服務apache2重新啟動

完成

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM