HTTPS
Port 443: the HTTPS port for secure web traffic
Understand why HTTPS uses port 443, when to open it, how to run a service on it, and how to verify that secure traffic can reach your server.
- Default port
- 443
- Protocol
- TCP
- Primary use
- Encrypted web and API traffic
What is port 443?
Port 443 is the default TCP port for HTTPS, the encrypted version of HTTP. When a browser opens an address that starts with https:// and no custom port is shown, it connects to port 443, negotiates TLS, validates the certificate, and then sends HTTP requests through the encrypted session.
Default secure web port
Most websites, APIs, reverse proxies, webhooks, control panels, and CDN origins use 443 when they need browser-compatible encrypted traffic.
Opening 443 is only half the job
A firewall rule can allow the port, but a web server such as Nginx, Apache, Caddy, IIS, or a load balancer must also be listening on 443.
Why HTTPS uses port 443
HTTPS became the standard way to protect web sessions because plain HTTP exposes requests, responses, cookies, and form data to anyone who can observe the network path. Port 443 gives clients and servers a predictable place to start that encrypted conversation. The browser does not need a user to type the port number, and infrastructure teams can write firewall, proxy, and monitoring rules around a well-known default.
The number itself comes from the well-known port registry maintained by IANA. Early secure web traffic used SSL, and later TLS replaced SSL as the modern security protocol. The name HTTPS remained because the application protocol is still HTTP, but it is carried inside a TLS-protected channel. Today, when people say SSL certificate, they usually mean a TLS certificate used by HTTPS on port 443.
Port 443 vs port 80
Port 80 is the default port for HTTP. It can still be useful for initial redirects, certificate automation challenges, internal health checks, and compatibility with legacy clients. Port 443 is different because the browser expects a TLS handshake before normal HTTP traffic starts. That handshake lets the server prove its identity with a certificate and lets both sides agree on encryption keys before private data is exchanged.
Modern production sites usually keep port 80 open only for redirects or certificate automation. The real application traffic should land on 443, often with HSTS enabled so browsers remember to use HTTPS.
When you should open port 443
Open port 443 when an internet user, customer application, webhook provider, CDN, mobile app, or partner system needs to reach your service over HTTPS. Typical examples include public websites, REST APIs, GraphQL endpoints, OAuth callbacks, payment webhooks, reverse proxy front doors, container ingress controllers, and self-hosted dashboards that are protected by authentication.
Do not open 443 just because it looks safe. HTTPS encrypts traffic in transit, but it does not fix weak authentication, outdated software, exposed admin routes, or dangerous default credentials. Treat 443 as a public entry point that deserves patching, logging, and access control.
Before opening 443
A working HTTPS endpoint needs four pieces to line up. DNS must point the hostname to the right public address. A service must listen on 443. Network controls such as host firewalls, cloud security groups, router port forwarding, and load balancer listeners must allow the connection. Finally, the server must present a certificate that matches the hostname.
Separate two questions: is the port reachable, and is HTTPS configured correctly? A port checker confirms the TCP path. Tools such as curl, browser devtools, and openssl s_client help inspect redirects, certificates, TLS versions, and HTTP responses.
How to open port 443 on Windows, Linux, and macOS
On Windows Server, install IIS, Nginx, Caddy, or another web server, bind a certificate to the site, and allow inbound TCP 443 in Windows Defender Firewall. Cloud servers also need 443 allowed in the cloud security group or firewall policy.
On Linux, install Nginx, Apache, or Caddy, configure a virtual host for 443, and use a certificate from a provider such as Let's Encrypt. Then allow the port in the host firewall, for example with ufw allow 443/tcp on Ubuntu. Containers also need 443 published on the host or load balancer.
On macOS, port 443 is mostly for local development or lab environments. You still need a process listening on 443, and privileged ports may require elevated permissions.
- Service layer: Nginx, Apache, Caddy, IIS, a load balancer, or an ingress controller must listen on TCP 443.
- Host firewall: Windows Defender Firewall, ufw, firewalld, nftables, iptables, or pf must allow inbound TCP 443.
- Network edge: cloud security groups, router NAT, CDN rules, and load balancers must route traffic to the backend.
- TLS layer: the certificate chain, hostname, renewal process, and protocol settings must be valid for real browsers.
How to test port 443
Start with an external port check against the public IP address or hostname. If the result is open, a remote client can establish a TCP connection to 443. Next, use a browser or curl -I https://example.com to verify the HTTP status, redirects, and headers.
On the server itself, check whether a process is listening with ss -tlnp, netstat, or PowerShell. For TLS details, openssl s_client -connect example.com:443 -servername example.com shows the certificate chain and handshake information.
Common 443 troubleshooting cases
If port 443 shows closed, the service may not be running, may be listening only on localhost, or may be bound to the wrong interface. If it times out, a firewall, cloud security group, router, ISP, or upstream provider may be dropping packets. If the port is open but HTTPS fails, inspect the certificate name, certificate chain, SNI configuration, reverse proxy upstream, and application logs.
Frequent mistakes include opening the host firewall while forgetting the cloud firewall, mapping Docker port 443 inside a container without publishing it on the host, or testing from a residential network behind CGNAT. In those cases, you may need a tunnel, a business connection, or a public cloud endpoint.
Security checklist for port 443
Keep TLS simple and modern. Prefer TLS 1.3 and TLS 1.2, disable obsolete protocols, renew certificates automatically, redirect HTTP to HTTPS, and monitor certificate expiration. Do not rely on encryption alone. Put authentication in front of private tools, restrict administrative paths, patch the application stack, and log failed authentication attempts.
For high-value services, place 443 behind a reverse proxy, WAF, CDN, or load balancer that can rate limit suspicious traffic and improve observability. If the service is intended only for staff, use a VPN, identity-aware proxy, allowlist, or mTLS rather than leaving it broadly reachable.
Frequently asked questions
Does HTTPS always have to use port 443?
No. HTTPS can run on another TCP port, such as 8443, if the client includes the port in the URL. Port 443 is the default that browsers assume when no custom port is specified.
Is an open 443 port dangerous?
An open 443 port is normal for public web services, but the application behind it must be secure. Encryption protects traffic in transit; it does not fix weak passwords, exposed admin panels, vulnerable software, or missing access controls.
Why does port 443 look open but the website still fails?
The TCP listener may be reachable while the HTTPS configuration is broken. Check the certificate, hostname, SNI routing, reverse proxy configuration, backend health, redirects, and application logs.
Can I close port 80 and use only 443?
Yes, if users and automation do not need HTTP redirects or HTTP-based certificate challenges. Many sites keep port 80 open only to redirect to HTTPS and use port 443 for all real traffic.