CSS của tôi được lưu trữ trên https://www.site1.com (nó là miền được xác thực) và nó sử dụng các tệp woff/ttf
nằm trên https://media.site1.com (nó cũng được xác thực - cùng auth hơn www). Để kết nối với các trang web này, tôi phải sử dụng proxy được xác thực.Các tệp woff phông chữ web không thể tải CSS của tôi nằm trên một máy chủ https + auth khác (CORS liên quan)
Tôi phải bật CORS để cho phép tải miền chéo, nhưng có vẻ như tôi không thể tải tài nguyên từ miền khác nếu miền này được xác thực cơ bản VÀ tôi sử dụng proxy được xác thực.
Tôi đã thêm trong Apache các chỉ dẫn sau:
SetEnvIf Origin "^http(s)?://(.*)$" origin_is=$0
Header set Access-Control-Allow-Origin %{origin_is}e env=origin_is
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Headers "*"
Nó sẽ cho phép tất cả các xứ, nhưng khi CSS tải file woff
(thông qua yêu cầu GET), tôi nhận được:
Yêu cầu (chỉ tiêu đề thú vị):
GET file.woff HTTP/1.1
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
Host media.site1.com
Origin https://www.site1.com
Proxy-Authorization Basic XXX1234567
Connection keep-alive
Cache-Control max-age=0
Trả lời (a s nhìn thấy bởi Firebug hoặc Httpfox):
HTTP/1.0 401 Unauthorized
WWW-Authenticate BASIC realm="Unspecified"
Server BigIP
Connection close
Content-Length 0
Nếu tôi tự xác thực để media.site1.com
trước khi đi www, kết quả là như nhau. Dường như trình duyệt không gửi thông tin xác thực cơ bản-auth tới máy chủ "media".
Có bất kỳ tiêu đề bổ sung nào tôi phải đặt để đảm bảo rằng các tệp WOFF được tải từ một vị trí khác, với xác thực cơ bản và cuối cùng với proxy được xác thực của doanh nghiệp không?
Tại sao giới hạn này chỉ được giới thiệu với phông chữ web? tại sao không với css, js vv ..? –
@ elad.chen Tôi chỉ có thể đoán rằng các tác giả của thông số W3C dự định phông chữ được dễ dàng và tự do có thể tải từ các máy chủ khác, theo cách có ý nghĩa. – AsGoodAsItGets