Blogging about Azure, .NET, Git and architecture.
![Image featuring Angular](https://blog.martdegraaf.nl/posts/angular-singleton-services-listening-to-routing-events/cover.webp)
![An abstract digital artwork representing versioning in cloud infrastructure. The design features dynamic swirling shapes and layered gradients in azure and teal tones. Stacked blocks and branching pathways subtly symbolize version control and progressive changes. The composition is minimalist and futuristic, evoking fluidity and modern technology.](https://blog.martdegraaf.nl/posts/bicep-template-spec-latest/cover.webp)
![Matrix, Code, Netwerk Image from Andrea Toxiri via Pixabay](https://blog.martdegraaf.nl/posts/make-github-copilot-a-habit/matrix-4980033_1280.jpg)
![Trinity college library, Dublin, Image from marouh via Pixabay](https://blog.martdegraaf.nl/posts/marts-cheatsheet/trinity-college-library-5174182_1280.jpg)
![A modern, clean tech-themed cover image with a blue color scheme. The image features a digital wall composed of glowing blue circuitry patterns, symbolizing protection. Behind this digital wall, there is a crown, glowing with a soft blue light, representing an application firewall.](https://blog.martdegraaf.nl/posts/apply-ip-restrictions-application-firewall/cover.webp)
Apply Ip Restrictions Application Firewall
In this blog post, I’ll show you how to restrict access by IP addresses and domain names to your backend services using a Web Application Firewall (WAF) policy. We’ll create a Bicep file, where I’ll introduce the first custom type that I have deployed to production!
![Cartoon-style illustration of a Caucasian man with brown hair and glasses, seated thoughtfully at a desk in an attic home office. The attic features a slanted roof with a small window through which moonlight streams in, enhancing the cozy yet cluttered setting with children’s toys and family photos. The image captures the late-night struggle of balancing productivity and family life, conveying a sense of mild stress and contemplation.](https://blog.martdegraaf.nl/posts/productivity-guilt/cover.webp)
![Mart de Graaf - cartoon style.](https://blog.martdegraaf.nl/posts/angular-relative-navigation/cover.webp)
![A robot behind a computer, saving time using automated tasks.](https://blog.martdegraaf.nl/posts/consulting/migrating-classic-to-yaml-releases/cover.webp)
![A sophisticated and modern digital-themed blog cover image for a blog about getting started with Azure OpenAI.](https://blog.martdegraaf.nl/posts/getting-started-with-azure-openai/cover.webp)
![Hard Cash on a Briefcase - Photo by Pixabay: https://www.pexels.com/photo/hard-cash-on-a-briefcase-259027/](https://blog.martdegraaf.nl/posts/azure-application-insights-in-control-of-costs/pexels-pixabay-259027.jpg)
![A door indicating your exit at a company.](https://blog.martdegraaf.nl/posts/consulting/job-done/cover.webp)