Puede ejecutar HTTP en cualquier puerto (y de manera similar HTTPS en cualquier puerto). Convencionalmente, ejecuta HTTP en el puerto 80, HTTPS en el puerto 443, ya que al usar estos puertos bien definidos, los usuarios no pueden especificar el número de puerto.
Si se conecta a enlace , realizará una solicitud de HTTPS al puerto 443. Si intenta conectarse a un puerto que no ejecuta SSL / TLS con El protocolo HTTPS obtendrá un error de conexión SSL. Puedes ver esto, por ejemplo, si intentas conectarte a https://security.stackexchange.com:80
. Esto es lo que ocurrirá si ejecuta HTTP en el puerto 443 en example.com; cualquier usuario que se conecte a https://example.com
obtendrá ese error.
A la inversa, si intenta conectarse a un puerto que ejecuta HTTPS con su navegador realizando la solicitud a través del protocolo HTTP antiguo habitual, recibirá un mensaje de error HTTP 400 Bad Request
( The plain HTTP request was sent to HTTPS port
). Puede ver un ejemplo de este error yendo a: http://www.time.com:443/
. Tenga en cuenta que HSTS complica ligeramente las cosas; Si está ejecutando HSTS , su navegador puede cambiar automáticamente las solicitudes HTTP a las HTTPS para un sitio determinado. (Esta es la razón por la que no verá este error si intenta ir a http://www.facebook.com:443/
y sería redirigido a https://www.facebook.com
).
Si desea que las solicitudes de https://example.com
funcionen, pero no necesita la seguridad de SSL, debe obtener un certificado debidamente firmado. Esto se puede hacer de forma gratuita con https://letsencrypt.org/
y hay muchas otras soluciones de bajo costo. Si realmente no desea que los usuarios usen HTTPS, puede reescribir las reglas para redirigir de HTTPS a HTTP. (Tenga en cuenta que para utilizar estos redireccionamientos sin advertencias del navegador sobre un certificado SSL no válido, necesita un certificado SSL válido).
EDICIÓN
: se eliminó la recomendación para StartSSL ya que no es de confianza para los principales navegadores .