2017-04-07 29 views
2

我在UI上使用的是angularjs,它不能告訴服務器關閉或超時兩者之間的差異,它們都會響應下面的內容。這是由於cors。當服務器關閉或請求超時時,apache不會添加cors標頭。Apache Proxy CORS在終端服務器關閉或超時

"{"data":null,"status":0,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"url":"https://api.domain.com/containers/60539","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":""}" 

如何確保在獲得200請求的同時從GET請求中獲得正確的502/503狀態?

謝謝!

當前設置:

<VirtualHost *:443> 
    ServerName api.domain.com 
    <IfModule proxy_module> 
    ProxyRequests Off 
    SSLProxyEngine On 
    SSLProxyVerify none 
    SSLProxyCheckPeerCN off 
    SSLProxyCheckPeerName off 
    ProxyPass/1.1.1.1 
    Header set Access-Control-Allow-Origin "*" 
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" 
    Header set Pragma "no-cache" 
    Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT" 
    </IfModule> 
    SSLEngine on 
    SSLCertificateFile "${WILDCARDSSLCRT}" 
    SSLCertificateKeyFile "${WILDCARDSSLKEY}" 
    SSLCertificateChainFile "${WILDCARDSSLCHAIN}" 
</VirtualHost> 

回答

2

代替Header set使用Header always set

Header always set Access-Control-Allow-Origin "*" 

https://httpd.apache.org/docs/current/mod/mod_headers.html#Header說明:

對應於always用於本地產生的錯誤RES 表反應以及成功的迴應


並與一些很好的指導了幾個導遊:

+0

曾爲幾乎完美,作爲所謂的服務器阿帕奇也返回CORS標頭我需要做未設置然後設置。如果有其他人遇到此問題,值得注意。 謝謝! – Jegsar