liveBook · Manning

HTTPS

As explained in Build Python Web Apps with Streamlit

HTTPS is the secure version of HTTP that protects web communication using TLS encryption and server authentication.

Imagine someone signing in to your Streamlit app over public Wi-Fi. If the app uses HTTP, their email and password travel without encryption and could be intercepted. HTTPS encrypts communication and lets the browser check that it has reached a server authorized to use your domain. section 12.4 section 12.4.2

That identity check depends on a digital certificate. A browser fully trusts one issued by a trusted Certificate Authority after domain ownership has been verified. A self-signed certificate may instead trigger a browser warning. section 12.4.2 section 12.4.1

For a load-balanced AWS Elastic Beanstalk app, enable HTTPS in four steps:

  • Register or use a custom domain, then point it to the app using DNS. section 12.4.1
  • Request a public certificate for that domain in AWS Certificate Manager and verify domain ownership through the requested DNS records. section 12.4.2 section 12.6
  • In Elastic Beanstalk’s traffic and scaling configuration, add an HTTPS listener on port 443 and attach the issued certificate. The load balancer handles the secure connection before forwarding traffic to the app. section 12.4.3
  • Visit the HTTPS address and check that the browser reports a secure connection. section 12.4.3

This path assumes a load-balanced environment. HTTPS on a cheaper, single-instance environment is possible, but its setup is more complicated. section 12.4.3

How Build Python Web Apps with Streamlit covers it

How deep it goes
Explains encryption and certificate trust, then walks through domain, certificate, and load-balancer setup; defers single-instance HTTPS configuration.
Examples
Uses a public-Wi-Fi login risk and an Elastic Beanstalk app configured with an AWS certificate and port-443 listener.
What it assumes
Assumes a deployed Elastic Beanstalk app and introduces certificates and load balancers before configuring HTTPS.
What you can do after
Operate/configure HTTPS for a load-balanced Elastic Beanstalk app using a custom domain, AWS Certificate Manager, and a port-443 listener.
How it connects
Connects HTTPS to HTTP, custom domains, DNS, digital certificates, Certificate Authorities, and load balancers.

Also explained in

Compare how 7 books explain HTTPS →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Build Python Web Apps with Streamlit. The section links point to the parts of the book it draws on.