Skip to content

Set Up HTTPS

LubeLogger runs on Kestrel, which is a cross-platform standalone web server provided by .NET

If you're running LubeLogger behind a reverse proxy(i.e. NGINX), then this walkthrough does not apply to you since the SSL certs will be served up by NGINX instead of Kestrel.

This article covers the step-by-step process to set up HTTPS for a LubeLogger instance.

Docker

If you're running LubeLogger on a Docker instance, first read this article by Microsoft

  1. Convert the .PEM / .CRT files into .PFX, read this StackOverflow post
  2. Open and modify the .env file and add the following lines(note that in this example I used bob as the password for the cert)
    ASPNETCORE_Kestrel__Certificates__Default__Password=bob
    ASPNETCORE_Kestrel__Certificates__Default__Path=/https/<yourPFXCertificateName>.pfx
    ASPNETCORE_URLS=https://+:443;http://+:80
    
  3. Open and modify docker-compose.yml. You will need to bind a new volume to the Docker container so that Kestrel can access the certificate file.
        volumes:
          - ./https/:/https:ro
    
  4. Check the port bindings to ensure that traffic is being forwarded to port 443
        ports:
          - 443:443
    
  5. Run docker-compose up -d to start up the container and https://localhost will now have a valid cert.

Windows

If you're running LubeLogger as the standalone Windows executable:

  1. Convert the .PEM / .CRT files into .PFX, read this StackOverflow post
  2. Navigate to the Server Settings Configurator and click Next until you get to "Server Endpoints" alt text Note: Replace 0.0.0.0 with your IPv4 address
  3. Save the Settings by clicking to the end of the Server Settings Configurator and click "Save"
  4. Restart the app and https://localhost will now have a valid cert.