Jak można dodać nagłówek Access-Control-Allow-Origin: *
do wszystkich odpowiedzi (w szczególności, interesują mnie pliki statyczne pod /public/
) w Meteor? Potrzebowałbym tego, aby zewnętrzne aplikacje internetowe mogły uzyskać dostęp do danych przez moją aplikację Meteor. Więcej informacji o włączaniu CORS is here.Jak dodać nagłówki CORS do aplikacji Meteor?
Odpowiedz
Oto mały fragment pisałem. Możesz posłużyć się przykładem, jak uzyskać dostęp do podstawowych połączeń meteorologicznych i modyfikować nagłówki, a także całkiem niezły zrzut dla każdego projektu meteorytów:
/**
* HTTP Header Security
*
* enforce HTTP Strict Transport Security (HSTS) to prevent ManInTheMiddle-attacks
* on supported browsers (all but IE)
* > http://www.html5rocks.com/en/tutorials/security/transport-layer-security
*
* @header Strict-Transport-Security: max-age=2592000; includeSubDomains
*/
var connectHandler = WebApp.connectHandlers; // get meteor-core's connect-implementation
// attach connect-style middleware for response header injection
Meteor.startup(function() {
connectHandler.use(function (req, res, next) {
res.setHeader('Strict-Transport-Security', 'max-age=2592000; includeSubDomains'); // 2592000s/30 days
return next();
})
})
Dziękuję. Mam nadzieję, że zostanie to uznane za odpowiedź ... znacznie czystsze wdrożenie. –
Z najnowszą wersją Meteor (0.8.2) możesz użyć haka 'WebApp.rawConnectHandlers'", zobacz https://github.com/mizzao/meteor-timesync/blob/master/timesync-server.js – hiddentao
Są na to dwa sposoby. Jednym z nich jest zmodyfikowanie kodu meteorytów i dodanie go (aby każdy plik miał ten nagłówek). To może nie być świetny pomysł, ponieważ nie chcesz, aby każdy pojedynczy plik miał to. Ale jeśli nie zmieni się to zrobić z podpinania do aplikacji
var app = __meteor_bootstrap__.app;
app.use(function(req,res) {
res.setHeader('access-control-allow-origin', '*');
});
Drugim jest użycie niestandardowego trasy z czymś meteor router. W ten sposób można kontrolować, jakie pliki chcesz mieć nagłówki w tak jego prawdopodobnie najlepiej użyć coś takiego
stronie serwera JS:
Meteor.Router.add('/yourfile.txt', function() {
this.response.setHeader('access-control-allow-origin', '*');
var fs = Npm.require("fs");
return fs.readFileSync("/public/yourfile.txt", "utf8");
});
Akshat, could readFileSync zostały użyte w tym przypadku, aby zmniejszyć kod? – matb33
Świetny pomysł! Wymieniłem kod na – Akshat
@shat punkt wyjaśnienia ... czy mówisz o dokonaniu edycji w rdzeniu meteorytowym? gdzieś w okolicy: https://github.com/meteor/meteor/blob/master/tools/server/server.js#L297 ? – zeroasterisk
- 1. Jak dodać plik CS do istniejącego projektu C#?
- 2. Jak dodać szablon do ciała Meteor wewnątrz opakowania
- 3. Czy NuGet może dodać plik .cs do projektu docelowego?
- 4. Rozmieszczanie aplikacji Meteor przez Meteor Up lub tmux meteor
- 5. Jak dodać unikalny identyfikator dwukolumnowy do mongody w aplikacji meteorów?
- 6. Jak dodać produkt w rozwijane listy w pliku cs
- 7. Jak dodać nagłówki kolumn tabeli do sql SELECT
- 8. Jak dodać niestandardowe nagłówki do klasy SMTP System.Net.Mail?
- 9. Jak dodać nagłówki wygasania do statycznych zasobów Meteusza?
- 10. Jak dodać nagłówki Expires do zdjęć amazon s3?
- 11. Jak dodać nagłówki tylko do określonych plików z nginx
- 12. Jak dodać nagłówki do e-maila w Laravel 5.1
- 13. Jak dodać nagłówki CORS do serwera statycznego połączenia?
- 14. Jak dodać nagłówki SOAP do klienta Spring Jax-WS?
- 15. Jak dodać nagłówki bez pamięci podręcznej dla całej witryny do aplikacji MVC 3
- 16. jak można podłączyć meteor do aplikacji na Androida?
- 17. Jak dodać AdSense do moich aplikacji
- 18. Jak dodać SHA-1 do aplikacji Android?
- 19. Jak dodać ikonę do aplikacji ubuntu
- 20. Jak dodać niestandardową czcionkę do aplikacji Rails?
- 21. Jak dodać PLCrashReporter do mojej aplikacji?
- 22. Prosty sposób na dodanie manifestu pamięci podręcznej do aplikacji Meteor?
- 23. Jak załadować klasę z pliku .cs?
- 24. W meteor app jak dodać orgin = * w cordova config.xml?
- 25. Jak dodać transformację do kolekcji Meteor.users?
- 26. Angular-Meteor - Jak dodać szablon ng do projektu opartego na pakietach?
- 27. Jak dodać nagłówki lub parametry do żądania HTTP obsługiwanego przez Selenium Webdriver?
- 28. Jak dodać logikę konsoli console.log() do szablonu Handlebars?
- 29. C# Roslyn API, Czytanie pliku .cs, aktualizowanie klasy, pisanie z powrotem do pliku .cs
- 30. Jak skonfigurować bezpieczny websocket na aplikacji Meteor (localhost)
Myślę, że to niemożliwe w obecnym stanie rdzenia Meteorów. Zdecydowanie potrzebujemy sposobów na dostosowanie nagłówków 'HTTP'. – mquandalle
Czy nie ma nawet hackish sposób? Gdybym chciał użyć widelca Meteora, co powinienem zmienić? – Mitar
Proponuję, aby odpowiedź Thomasa była właściwa. Czysty sposób na dostęp do oprogramowania pośredniego połączenia bez pakietu/hackowania. –