Free Azure certification training courses

Howdy, I would like to share the list of the extremely useful FREE courses with you which can help you to prepare for Azure exams and level up your skills in the most efficient way. Tons of videos, hands-on labs and text guidances. You just need to find a free time and passion, plus make sure that you have an active Azure subscription (trial is an option).

Note:retired” = exam is no longer available but specified courses can still be a part of your preparation. “w/labs”  = exam has performance sections (lab tasks), “enrollment is closed” = sometimes it happens. you should wait while the learning provider opens a new enrollment. Click on “check out my experience” where available to get more details. Plus, AZ-303/304 are coming soon

Learning Paths from Pluralsight (recommended)

Learning Paths from Microsoft (step-by-step guidances)

Microsoft/OpenedX self-paced courses (have some outdated materials)

AZ-100|Microsoft Azure Infrastructure and Deployment (retired)

AZ-101|Microsoft Azure Integration and Security (retired)

AZ-103|Microsoft Azure Administrator (w/labs; retired – see AZ-104)

AZ-104|Microsoft Azure Administrator (w/labs)

AZ-200|Microsoft Azure Developer Core Solutions (retired)

AZ-201|Microsoft Azure Developer Advanced Solutions (retired)

AZ-203|Developing Solutions for Microsoft Azure (retired)

AZ-204|Developing Solutions for Microsoft Azure (w/labs)

AZ-300|Microsoft Azure Architect Technologies (w/labs)

AZ-301|Microsoft Azure Architect Design

AZ-400| Microsoft Azure DevOps Solutions (w/labs)

AZ-500| Microsoft Azure Security Technologies (w/labs)

AZ-900| Microsoft Azure Fundamentals

DP-200| Implementing an Azure Data Solution (w/labs)

DP-201| Designing an Azure Data Solution

DP-100| Designing and Implementing a Data Science Solution on Azure

There are also some free courses on EDX site (1 topic:1 course)

TIP: If you are not familiar with Azure Services, I’d highly recommend you to purchase pBook or download FREE ebook “Learn Azure in a Month Of Lunches” that I reviewed a few months ago. It’s a great all-in-one guide to get started with almost everything in Azure.

Happy learning and good luck with the exams!

Using IIS as a reverse proxy for Jenkins

Howdy, guys! Today, I’d like to show you how to configure IIS along with ARR to publish and secure your Jenkins portal with HTTPS and SSL. Going forward, make sure that your site name (jenkins.pro, in my case) is publicly available (every external Certificate Authority requires domain validation before generating a SSL-certificate for your site. Otherwise, you can use a self-signed certificate for demo purposes (as it shown later in this post).

TIP: to get a SSL-certificate, you can use a completely free Let’s Encrypt CA (windows ACME tool located here , download it and extract the archive, and then run the wacs.exe application to create new certificate (see the screenshot below)) or comodo free SSL certificate for 90 days . Be careful! LetsEncrypt has some rate limits. For example, there is a Failed Validation limit of 5 failures per account, per hostname, per hour and if you’ve hit a rate limit, you don’t have a way to temporarily reset it. You’ll need to wait until the rate limit expires after a week

Prepare your environment

  • Install and configure Jenkins (it it’s not yet done)
  • Add Web Server (IIS) server role with the default settings + HTTP Redirection and WebSocket Protocol

Install-WindowsFeature Web-Server,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Content,Web-Http-Redirect,Web-Health,Web-Http-Logging,Web-Performance,Web-Stat-Compression,Web-Security,Web-Filtering,Web-App-Dev,Web-WebSockets,Web-Mgmt-Tools,Web-Mgmt-Console -IncludeManagementTools

  • Download and install URL Rewrite and IIS ARR
  • My machine is not in the domain, so I need to edit my hosts file (C:\Windows\System32\drivers\etc\hosts) and add a new line as follows: 127.0.0.1 jenkins.pro
  • Create a self-signed certificate or use the certificate provided by public CA (as we briefly discussed in the beginning). I also recommend to add created certificate to the Trusted Root Certification Authorities to avoid any warning messages in browsers.

New-SelfSignedCertificate -DnsName "jenkins.pro" -CertStoreLocation "cert:\LocalMachine\My"

Configure IIS and ARR

Open IIS manager (InetMgr.exe), go to the Default Web Site – Actions – Bindings and add a new site binding for HTTPS type (use the certificate created earlier). Then, edit HTTP binding by typing a hostname (might be used by ACME tool while generating a certificate)

Click on the IIS server name, go to Application Request Routing Cache – Server Proxy Settings and Enable the Proxy, disable
Reverse rewrite host in response header , and then click Apply

Navigate to the Default Web Site – URL Rewrite -View Server Variables... and add the a new variable named as HTTP_FORWARDED.

Go back to rules, and add a new reverse proxy rule, type a site name (jenkins.pro, in my case) and click OK. Doble-click on the created rule and define a condition input {CACHE_URL} with the following pattern ^(http|ws)s:// , and then add server variable HTTP_FORWARDED with the following value for={REMOTE_ADDR};by={LOCAL_ADDR};host=”{HTTP_HOST}”;proto=”https”

Then, we need to define how to rewrite URL under action:
{C:1}://jenkins.acme.example:8080{UNENCODED_URL}
and remove the Append query string check

Go to Application Pools and change .NET CLR Version to No Managed Code

Then go back to the Default Web Site and select Request Filtering – Edit Feature Settings and turn on Allow double escaping

In the Default Web Site → Configuration Editor change the Section to system.webServer/rewrite/rules , and change useOriginalURLEncoding to False

Configure Jenkins

Once you finished with IIS/ARR configuration, we need to set Jenkins to enable the proxy and work with a new URL (https://jenkins.pro, in my case). Carry out the following steps:

  1. Open Jenkins portal, go to Manage Jenkins – Configure Global Security enable Prevent Cross Site Request Forgery exploits and proxy compatibility
  2. In the Configure System, define a new URL under Jenkins location that should be used by Jenkins (https://jenkins.pro, in my case), and then apply the changes
  3. Open a new tab in the browser and verify that you can access the Jenkins by using the new URL and HTTPS

jenkins-iis-ssl

P.S. this post is based on the wiki article that contains a bit more details https://wiki.jenkins.io/display/JENKINS/Running+Jenkins+behind+IIS