Nginx ve yelkenleri kullanarak çapraz etki alanı yapılandırma sorunları yaşıyorum. Sorun, http://domain-server.com/socket.io/
aracılığıyla düzgün bir şekilde bağlanacak sokete sahip olursam ise RESTful isteği başarısız olur. RESTful çalışırsa soket olmaz.etki alanı yapılandırma sorunları
Ayar
Müşteri http://domain.com
Sunucu http://server-domain.com
Müşteri "sails.io.js": "0.10.3"
ve bu yapılandırma io.sails.url = 'http://domain-server.com';
kullanılarak açısal bir uygulamadır.
Sunucu, RESTful isteği ve yuva özelliklerine sahip bir yelken uygulamasıdır.
dışarı Yorumlananlar
Yelkenler CORS yapılandırma
module.exports.cors = {
allRoutes: true,
origin: 'http://domain.com',
credentials: true,
methods: 'GET, POST, PUT, DELETE, OPTIONS, HEAD',
headers: 'content-type,Access-Control-Allow-Origin'
};
Yelkenler soket yapılandırma
module.exports.socket {
onConnect: function() {},
onDisconnect: function() {},
authorization: false,
'backwardsCompatibilityFor0.9SocketClients': false,
grant3rdPartyCookie: true,
origins: 'http://domain.com'
};
nginx yapılandırma ben olmadan nginx yapılandırmasında oynadım ettik nelerdir çok başarı (ayrıca t istemci adresi yerine *) kullanıldı. Dinlendirici yapma
server {
listen 80;
server_name domain-server.com;
#add_header Access-Control-Allow-Origin *;
location/{
# add_header Access-Control-Allow-Origin *;
proxy_pass http://localhost:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
# proxy_set_header Access-Control-Allow-Origin *;
proxy_cache_bypass $http_upgrade;
}
}
angularjs hizmet metodu açısal yapılandırma fonksiyonu burada
$httpProvider.defaults.useXDomain = true;
Mevcut yapılandırma ve de
function query(path, attributes) {
return $http({
url: domain + path,
params: attributes,
method: "GET",
widthCredentials: true
});
}
çağrıları sonuç ben yaşıyorum edilir .
Tarayıcı konsol çıkış
Resource interpreted as Script but transferred with MIME type text/html: "http://domain-server.com/__getcookie".
- İyi
|>
- İyi
\___/ sails.io.js:200 io.socket connected successfully.
XMLHttpRequest cannot load http://domain-server.com/login?password=test&username=test. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://domain.com' is therefore not allowed access.
- İyi değil
GÜNCELLEME
görünüyor Her şey gibi çalışırsa, sails lift
veya node app.js
'u kullanarak doğrudan yelken açmaya başladığım halde, bir .conf
dosyasında en yeni başlatma komut dosyasını kullanarak başladığınızda çapraz etki alanı sorunu oluşur.
sonradan görme komut
#!upstart
description "demo"
author "gillesc"
start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown
respawn
respawn limit 5 60
script
exec /usr/bin/node /var/www/apps/domain-server.com/app.js > /var/www/apps/domain-server.com/server.log 2>&1
end script
Bu nerede barındırılıyor? Bazı bulut ana bilgisayarları (OpenStack gibi) CORS başlıklarının gönderilmesini engelliyor gibi görünüyor. – sgress454
CORS'in RESTful için gayet iyi çalışmasını sağlayabilirim, sadece bir şey yapmazlar. Bir yerde bir çatışma olduğu gibi görünüyor. – GillesC
Tarayıcıda 'http: //domain-server.com/login? Password = test & username = test' öğesine giderseniz ne yaparsınız? Bir nginx hata sayfası mı? Nginx'ten yelken uygulamasına doğru proxy isteklerini tersine mi uyguluyorsunuz? Yoksa farklı limanlarda mılar? – david