Solucione Java.Net.SocketException: Permiso denegado en Java

Sheeraz Gul 20 junio 2023
  1. Causas del error java.net.SocketException: Permiso denegado en Java
  2. Solucione el error java.net.SocketException: Permiso denegado en Java
Solucione Java.Net.SocketException: Permiso denegado en Java

Este tutorial demuestra el error java.net.SocketException: Permiso denegado en Java.

Causas del error java.net.SocketException: Permiso denegado en Java

La SocketException suele ocurrir cuando hay un problema con la conexión de red. Puede ser Permiso denegado, Restablecer conexión, o cualquier otra cosa.

El error java.net.SocketException: Permiso denegado ocurre cuando no hay permiso de la red para conectarse con un determinado puerto. El error puede ocurrir al conectar o configurar los ajustes de red en diferentes plataformas.

El error java.net.SocketException: Permiso denegado puede ocurrir en cualquier tipo de servidor como Tomcat u OpenShift.

Estas son las razones principales del error java.net.SocketException: Permiso denegado:

  1. Cuando el sistema operativo no permite un número de puerto en particular.
  2. El antivirus o cortafuegos detiene la conexión a una determinada red.
  3. A veces, un problema con la versión anterior de Java.

Solucione el error java.net.SocketException: Permiso denegado en Java

Por ejemplo, al configurar el certificado HTTPS para el servidor Tomcat, puede ocurrir el error java.net.SocketException: Permiso denegado al iniciar el servidor:

Caused by: java.net.SocketException: Permission denied
                at sun.nio.ch.Net.bind0(Native Method)
                at sun.nio.ch.Net.bind(Net.java:438)
                at sun.nio.ch.Net.bind(Net.java:430)
                at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
                at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
                at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:221)
                at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1118)
                at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:223)
                at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:587)
                at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74)
                at org.apache.catalina.connector.Connector.initInternal(Connector.java:1058)
                ... 13 more

El motivo de este error es que el sistema operativo está deteniendo la conexión. Debido a que el sistema Linux no permite que los usuarios que no sean root usen la raíz menos de 1024; por lo tanto, se convierte en un problema de permisos.

Ahora bien, las soluciones a este problema pueden ser:

  1. La mejor solución es usar la cuenta raíz para iniciar el servidor Tomcat.
  2. Si Linux no permite números de puerto inferiores a 1024, utilice un puerto superior a este número. El número de puerto se agregará a la solicitud de URL.

De manera similar, al usar el servidor openshift, puede ocurrir el mismo error java.net.SocketException: Permiso denegado. Y la razón podría ser que el firewall o el antivirus lo estén deteniendo o que la versión de Java que está utilizando no sea compatible.

La posible solución para esto puede ser:

  1. Detenga el antivirus y el firewall. O comprueba que no estén bloqueando el servidor.

  2. Use Java 8 o versiones superiores. O coloque los siguientes argumentos de VM en su aplicación para poder ejecutar y conectarse usando Java 7:

    -Djava.net.preferIPv4Stack=true
    
  3. Consulte las bibliotecas o paquetes de terceros si tienen algunos requisitos específicos. Algunos de ellos también causarán el error java.net.SocketException: Permiso denegado.

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Java Error