Wer Webapps oder Restservices hinter einem Loadbalancer betreibt und diese überwachen will, steht zwecks Monitoring vor der Herausforderung, die einzelnen Nodes einzeln zu überwachen zu müssen. Wird auf allen Verbindungen SSL verlangt, muss dein Request auf einen Zielnode einerseits SSL machen und auf der anderen Seite aber einen anderen Hostnamen ansprechen wie der Hostname in der URL.
Mit curl lässt sich diese Aufgabe elegant lösen.
curl --connect-to node1.example.com:443 https://api.example.com/myservice/myaction
Dabei kann mit dem Parameter „–connect-to“ der Hostname/Port angegeben werden, mit dem curl sprechen soll und mit dem URL-Parameter die aufzurufende URL.
Achtung Windows
Während bei den meisten Linux-Distributionen curl standardmässig installiert ist oder einfach als Package installieren kann, muss man unter Windows curl.exe nachinstallieren.
Powershell liefert standardmässig ein Alias namens „curl“, das auf „Invoke-Webrequest“ umleitet. Dieses Commandlet verfügt aber über ganz andere Parameter und ist mit dem regulären curl überhaupt nicht kompatibel.
- Download Curl for Windows: https://curl.se/windows/
- Manual: https://curl.se/docs/manpage.html