Two designs can run TLS on port 443 and mean entirely different things by it. A wrapper protects one configured connection between a local port and a remote backend. A network-access design carries selected traffic and changes what the client can reach. Work the four checks below in order and you will know which one you are looking at, which is usually enough to know which layer failed.

Start With the Connection You Actually Configured

Write down the front end and the back end before comparing products. A wrapper listens on a local address and forwards to a remote one, or starts a program on the remote side, and that pair is the whole of its contract. The client's other applications know nothing about it unless you point them at it. That is not a shortcoming of the tool, it is what the tool is for.

A network design's contract is different, and it is expressed in routes and policy rather than in a port pair.

Note which of those two descriptions matches your diagram. If the answer is one port mapping with a certificate in the middle, you have a wrapper even when the product name says VPN. If the answer is a tunnel interface and route changes, you have a network design even when it runs on 443.

Check What the Wrapper Connects To

Read the listen and connect settings and follow them to the real backend. A wrapper forwarding to a database port is not opening a web application, and a wrapper that execs a program is starting that program rather than publishing everything else the host runs. The backend is the only thing the wrapper knows about.

Then decide whether the relayed stream is plaintext once TLS ends. A wrapped connection protects the segment between the two wrappers, and whatever happens after the far wrapper is a separate question. That is why wrapping something that already carries its own protection is sometimes sensible and sometimes just extra moving parts. Inspect the next hop instead of assuming either answer.

openssl s_client -connect wrapper.lab.example:443 -servername wrapper.lab.example -verify_return_error
sudo ss -ltnp | grep 443

The first command shows the certificate a client is actually offered, and the second shows what is listening on the host. Compare that certificate name with the one you expected before reading anything else.

Check What Traffic the Design Carries

Network-access designs carry selected traffic and integrate with the client's routing and access policy. Admission is not authorization, so an authenticated connection still needs a decision about which resources it may reach. A clientless portal is a third model that proxies supported operations without ever appearing as a tun interface.

The product label does not tell you which of those models you bought, and the port number tells you even less.

Layering is possible and should not confuse the comparison. A tunnel protocol can itself be wrapped in TLS in a supported TCP arrangement, which adds a layer around the tunnel without turning the wrapper into the tunnel. That is a design choice with its own performance and failure behaviour, and it deserves a line in the diagram. Record it, then compare the underlying models rather than the outer wrapper.

Check the Failed Boundary, Not the Label

Write the facts down for one failing attempt: front-end address, listener, the identity the client verified, the backend target and the operation requested. A handshake that succeeds proves the outer TLS completed and says nothing about the backend. A backend rejection is a different event from a front-end identity failure, and neither improves by dropping -verify_return_error from the client. Compare like with like, because a success through another hostname or port does not show that the conditions were the same.

Port 443 is a convention that lets TLS through middleboxes. It does not make arbitrary traffic resemble a web request to a policy device.

Finish with one sentence that names the endpoint pair, what is carried, which applications use it and what permission the destination enforces. A design that cannot fill those four blanks is not finished, whatever its label claims. That sentence is also the fastest way to explain the design to whoever owns the firewall.

Ngaahi tokoni fekau'aki