blog.atwork.at

news and know-how about microsoft, technology, cloud and more.

Automate SSL certificates updates with App Services and Azure Key Vault

Storing credentials, SSL certificates, connection strings and other secrets in Azure Key Vault is recommended for every software project in the (Azure) cloud. This is easy to do when using certificates, such as for a website hosted in Azure App Services. Learn how to configure a SSL certificate once and then have it automatically updated when you update it in the Key Vault, called automatic rotation. See a step-by-step description here.

Visual Studio Code den Run-Button für Websites beibringen

Visual Studio Code ist eine feine Sache. Das kostenlose Entwicklungssystem für Windows, OS X und Linux ist unter https://code.visualstudio.com downloadbar und stellt neben einem sehr leistungsfähigen Editor mit IntelliSense und Debugging, Git-Support und Extensions auch Runtimes für Node.js, .NET Core4, Unity und Office bereit. Apropos Runtime: Wie sieht es mit Webprojekten aus? Das müssen wir Visual Studio Code (VSC) erst beibringen…

IIS und Web Teil 3-Verbesserte Performance mit IIS 8.5

Windows Server 2012 R2 und IIS 8.5 bringen zwei coole neue Funktionen zur Verbesserung der Web-Leistung. Für viele Websites beschleunigt Dynamic Site Activation das Laden der Webs und die neue Einstellungen Idle Worker Process Page-out wirkt als Performance-Boost nach Web-Leerlauf. Hier erfahren Sie, wie man diese nutzen kann.

IIS und Web Teil 2-Verbessertes Logging in IIS 8.5

Die neuen Funktionen von IIS 8.5 bringen unter anderem neue Logging-Mechanismen. Es gibt zwei neue Verbesserungen im Logging. Nun können zusätzliche Felder mitgespeichert werden und das Logging kann nun in das Windows Ereignisprotokoll geschrieben werden. Standard-Logging IIS loggt seit jeher in das Filesystem. Das macht vor allem aus Performance-Gründen Sinn. Die Logging-Einstellungen können nach eigenem Bedarf angepasst werden, auf Serverebene für Web und FTP-Traffic oder dann einzeln pro Website. Zumeist legt man die gewünschten Eigenschaften einmal pro Server fest. Üblicherweise verwendet man meist Logging per Site und das W3C Format - damit können die meisten Webanalyse Tools etwas anfangen - und verwendet "local time". Im Betrieb resultieren diese Einstellungen dann darin, dass pro Site und pro Tag ein Logfile angelegt wird. Der Screenshot zeigt den Speicherort und ein beliebiges Logfile. IIS hält das aktuelle Logfile offen, um rasch Protokollzeilen in das File anhängen zu können. Es kann aber dennoch zum Lesen geöffnet werden. Beim Stoppen des Webs wird es geschlossen. Üblicherweise lesen Webanalyse-Tools dann diese Logdateien, benennen sie um und packen oder verschieben sie in ein Archiv. So weit so gut, das ist Standard seit der ersten Version von IIS - mit ein paar neuen Features, die nach und nach erweitert wurden. Verbessertes Logging Im Modul Logging (Protkollierung) können die Eigenschaften wie oben (Art, Format, Speicherort und Encoding) definiert werden. Diese Eigenschaften vererben sich in die darunterliegenden Sites, daher ist es im Regelfall klug, diese auf Serverebene einmal zu setzen. Neu in IIS 8.5 ist, dass hier mit Select Fields... sog. Custom Fields hinzugefügt werden können. Damit können bestimmte Informationen wie Request Header, Response Header und Server Variablen protokolliert werden. So kann beispielsweise die CPU-Zeit oder die Dauer eines Webrequests oder HTTP Header wie X-Forwarded-For in das Log gespeichert werden. In Enhanced Logging for IIS 8.5 und im TechNet Video sind weitere Informationen darüber zu finden. Hinweis: Eine ähnliche Funktionalität konnte auch zuvor durch seperate Module erreicht werden. Nun ist Enhanced Logging jedoch schon in IIS 8.5 eingebaut und vereinfacht die Verwaltung out-of-the-box: "Enhanced logging for IIS 8.5 is only available in IIS 8.5". Logging to Event Tracing In IIS 8.5 können Weblogs auch direkt in das Event Tracing von Windows (ETW) geschrieben werden - sprich in die Ereignisanzeige. Damit können zum Beispiel IIS-Events in Echtzeit ge-monitored werden. Bei klassischen Logfiles kann es je nach Auslastung 30 Sekunden dauern, bis das Ereignis in dem Logfile geschrieben wird. Im Gegensatz zum file-basierten Logging werden die Ereignisse sofort in das Eventlog geschrieben. Das W3C Protokoll kann nur nach ETW oder in ein Logfile und in das ETW geschrieben werden. Das Format muss W3C sein und das Web muss für die Wirksamkeit einmal restarted werden. Diese Funktion ist aus meiner Sicht weniger für sehr stark frequentierten Webs sinnvoll, sondern dient vor allem für das Troubleshooting und Debugging von Webs. Man kann damit nachsehen, was in einer Website so alles passiert oder eine zentrale Website-Logging Strategie entwickeln. Im Event Viewer finden sich die Logzeilen dann gut versteckt im Knoten Event View (Local) / Applications and Services Logs / Microsoft / Windows / IIS-Logging / Logs. Weitere Infos gibt es in Logging to Event Tracing for Windows in IIS 8.5 und in Configure Logging in IIS. Wenn ETW Logging benutzt wird, empfiehlt es sich das Tool Microsoft Message Analyzer für die Echtzeit-Analyse zu verwenden, siehe Microsoft Message Analyzer Operating Guide und Hook me up!. Weiter geht´s dann im nächsten Teil mit Leistungsoptimierung von Websites in IIS 8.5. Artikelserie, siehe auch IIS und Web Teil 1-Neuerungen und Installation von IIS 8.5 IIS und Web Teil 2-Verbessertes Logging in IIS 8.5

IIS und Web Teil 1-Neuerungen und Installation von IIS 8.5

Mit Windows Server 2012 R2 kommt eine neue Version des Webservers, IIS Version 8.5. Der Internet Information Service (IIS) ist ein wichtiger Teil eines Applikationsservers um Websites und Webdienste im Internet, im eigenen Unternehmen oder in einer Private oder Public Cloud bereitzustellen. Gerade in unternehmenskritischen oder großen Szenarien kommt es darauf an, diese Basis stabil, sicher und möglichst performant zu betreiben. Somit ein guter Grund, eine kleine Artikelserie über die verschiedenen Einsatzszenarien und Funktionen zu starten. Was ist Neu? Schon mit Windows Server 2012 und IIS 8.0 wurden einige neue Features und Vereinfachungen zum Webserver hinzugefügt. Die Website What's New in IIS 8? informiert über die Neuerungen im Vergleich zu IIS 7. In IIS 8.5 wurden weitere neue Funktionen hinzugefügt, die Verwaltung und Skalierbarkeit verbessern. Im Artikel What's New in IIS 8.5? werden die Installation und die Neuerungen beschrieben, diese sind: Verbessertes Logging mit erweiterten Feldern wie Response Headern und Variablen. Logging in die Ereignisanzeige von Windows (ETW - Event Tracing for Windows). Dynamic Website Activation um Websites rasche zu starten. Idle Worker Process Page-Out um Websites die in den Ruhezustand versetzt wurden (Idle) wieder rasch zu reaktivieren. Besonders die beiden letzten Funktionen sind für den Betrieb von ASP.NET Webseiten sehr hilfreich, dazu mehr in den nächsten Teilen und hier. Installation Hier die Varianten für die (automatisierte) Installation: Die IIS 8.5 Installation erfolgt entweder über den Server Manager und die Rolle Webserver (IIS), die Kommandozeile oder in der PowerShell. Die Installation muss als lokaler Administrator erfolgen, das bedeutet, das Setup oder die Commandline als Administrator starten, siehe Installing IIS 8.5 on Windows Server 2012 R2. "Ensure that you have administrative user rights on the computer on which you plan to install IIS 8.5. Note that by default, you do not have administrative user rights if you are logged on as a user other than as the built-in administrator, even if you were added to the local Administrators group on the computer." IIS 8.5 kann auch in Windows 8.1 über die Windows Features installiert werden. Server Manager Über das Dashboard kann die neue Webserver (IIS) Rolle hinzugefügt werden. ...und Auswahl der gewünschten Features: DISM Mit dem DISM Kommando lautet der Befehl DISM.EXE /enable-feature /online /featureName:IIS-WebServerRole /featureName:IIS-CommonHttpFeatures ... Mehr über DISM erfahren Sie im TechNet DISM Overview (Deployment Image Servicing and Management). PowerShell Per PowerShell wird die Webserver-Rolle (komplett) so installiert: import-module servermanager add-windowsfeature web-server -includeallsubfeature ...oder nur bestimmte Features. Modules in IIS 8.5 beschreibt die verschiedensten Features wie in diesem Beispiel: import-module servermanager add-windowsfeature Web-Server, Web-WebServer, Web-Security, Web-Filtering Webcasts Beispiele von IIS 8.5 in Aktion gibt es online in zwei interessanten TechNet Sessions: IIS: What's New in Window Server 2012 R2 (TechEd USA) IIS: What's New in Window Server 2012 R2 (TechEd Europe) Weiter geht's im nächsten Teil mit den neuen Logging-Funktionen.

IISExpress und SSL-configuring web https for ASP.NET failed

Visual Studio 2012 ist super. Es nimmt dem Webdeveloper viel Arbeit ab, indem standardmäßig der integrierte Webserver IISExpress verwendet wird. Beim Erstellen einer App generiert VS eine URL mit http://localhost und einer zufälligen Portnummer aus dem Pool. Soweit so gut. Nur was tun, wenn ein Webprojekt mit einer https-URL kommt – und sich IISExpress partout weigert, diese Adresse zu finden?

Microsoft Script Explorer for Windows PowerShell RC

Microsoft hat vor kurzem den Release Candidate des Microsoft Script Explorer for Windows PowerShell veröffentlicht (siehe PowerShell Scripts mit Script Explorer finden”). Der Script Explorer ist ein Tool zum Finden von PowerShell Scripts zu bestimmten Anforderungen und Themen - eine PowerShell-Suchmaschine!

SEO for Developers

Search Engine Optimization (SEO) wird immer wichtiger. Jede HTML-Website sollte den Richtlinien für gutes Seitendesign, logischen Aufbau und Performance entsprechen. SEO ist ein so großes Thema, dass es mittlerweile viele Agenturen gibt, die sich sehr intensiv mit diesem Thema befassen. Als (ASP.NET) Webdeveloper können viele Themen der ASP.NET Technologien wie URL Rewriting, MVC & Co. helfen, gute Websites auch in Bezug auf SEO zu erstellen. Das Ziel ist also suchmaschinenoptimierten Webseiten mit ASP.NET zu erstellen. Nur, wie prüft man nun auf SEO Konformität?