Entwicklerteam stellt neues JavaScript-Subset auf der nginx.conf 2015 vor

nginScript: eine JavaScript-Extension für NGINX
Keine Kommentare

JavaScript ist die aktuell beliebteste Programmiersprache – und das bereits seit mehreren Jahren. Mit dem nun im Rahmen der nginx.conf 2015 vorgestellten neuen JavaScript-Subset nginScript soll auch der beliebte Webserver NGINX nun eine Custom-JavaScript-Implementierung erhalten. Sie soll dabei vor allem die dynamische Konfiguration und Ausgabe von JavaScript innerhalb des Webservers aktivieren und damit gleichzeitig den Einstieg in die Script-basierte Konfiguration von NGINX erleichtern.

So unterstützt NGINX bereits seit einiger Zeit die Konfiguration mit Lua, doch im Vergleich zu JavaScript (oder auch einigen anderen Sprachen) erfährt Lua kaum die notwendige Verbreitung in der Community. Schon vor kurzem hatte NGINX-Entwickler Igor Sysoev die Entwicklung eines funktionierenden Prototyps einer JavaScript Virtual Machine zur Einbettung in NGINX vorgestellt; nun folgte der Launch einer ersten Preview der zugehörigen nginScript-Software. Im NGINX-Blog hat er die neue JavaScript-Extension präsentiert.

Das ist nginScript

nginScript beinhaltet für die Implementierung von JavaScript in NGINX vor allem die JavaScript-Aspekte, die besonders nützlich für die Konfiguration des Webservers sind, während einige weniger genutzte Teile von JavaScript sowie einige built-in-Objekte nicht unterstützt werden. Grundsätzlich soll nginScript vor allem für mehr Effizienz und eine bequemere NGINX-Konfiguration sorgen; gleichzeitig ermöglicht es Entwicklern aber auch, ihre Applikationen einfacher für eine bessere Langzeitstabilität und mehr Sicherheit umzugestalten.

So erklärt Sysoev das mit nginScript verfolgte Ziel etwa folgendermaßen:

Our goal is to make NGINX the connective tissue and traffic management layer for all modern web applications.

Dafür bringt das neue JavaScript-Subset zwei Bestandteile mit: zum einen die bereits angesprochene Custom Virtual Machine und einen zugehörigen Byte-Code-Compiler; zum anderen eine Konfigurationssyntax zum Einbetten von JavaScript-Snippets in die eigene NGINX-Konfiguration. Der besondere Vorteil der nginScript VM liegt vor allem im Fokus auf die Server-Anforderungen. Dabei wird für jeden Request eine eigene VM ausgeführt, sodass eine separate Garbage Collection überflüssig wird.

Use Cases für nginScript

Bereits jetzt gibt es zahlreiche denkbare Use Cases für nginScript; künftig sollen sie jedoch noch deutlich erweitert werden. So soll nginScript etwa bei der Behebung von Applikations-Bugs behilflich sein, das Ändern von Business-Regeln ermöglichen oder zur Personalisierung der User Experience beitragen.

Zu den aktuellen Fähigkeiten zählt zum Beispiel die Abwehr von bestimmten Sicherheitsbedrohungen, indem nginScript etwa Requests ablehnt oder Trafficquellen einschränkt. Zudem erlaubt nginScript es, eine flexiblere Kontrolle über die Art und Weise wie Traffic gerouted wird, zu implementieren. Ebenso können duplizierte Funktionalitäten statt in den Applikationen in der Application Delivery Platform gespeichert werden. Auch lässt sich nginScript-Code leicht entwickeln, wiederverwenden, verbessern, speichern und teilen, um so die Entwicklung von Applikationen zu verbessern.

nginScript: ein Blick in die Zukunft

Das Entwicklerteam verspricht sich von nginScript vor allem, Usern bei der Konfiguration von NGINX mehr Scripting-Möglichkeiten und einen leichteren Einstieg zu bieten. Dabei soll das JavaScript-Subset zwar keineswegs Lua ersetzen sondern nur als alternative Extension für den Webserver dienen; angesichts der Allgegenwart von JavaScript in der Community hält David Iffland das aber durchaus für wahrscheinlich.

Mehr Informationen zu nginScript bietet der genannte Blogpost; dort finden sich auch einige Beispiele, die die NGINX-Extension in Aktion zeigen. Auch die Dokumentation hält einige Tipps zur Installation und Nutzung bereit; nginScipt steht im Mercurial Repository von NGINX zur Installation bereit.

webinale – the holistic web conference

Diversity matters – Onlinemarketing 2020

mit Astrid Kramer (Astrid Kramer Consulting)

Das Recht auf Privatsphäre – eine Chance für UX

mit Lutz Schmitt (Lutz Schmitt Design & Consulting)

The Revenge of Structured Data

mit Stephan Cifka (Performics Germany GmbH)

IT Security Summit 2020

Zero Trust – why are we having this conversation?

mit Victoria Almazova (Microsoft)

Digitaler Ersthelfer

mit Martin Wundram (DigiTrace GmbH)

Aufmacherbild: digital cogwheel von Shutterstock / Urheberrecht: fotogestoeber

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -