Bienvenido a Internet ■Volver al BBS■ Hilo completo ▼Bajar▼

■ Este hilo se encuentra guardado en el archivo

[CONSULTA] Apache2 redirije al puerto interno durante petición pública (29 respuestas)

1 : root@bienvenidoainternet.org:~# : 12/11/20(jue)21:45:09 ID:zwbem72T0!

Hola baisanos, les explico mi problema. Ahora mismo digamos estoy usando un servidor Apache2 local, pongamosle 127.0.0.1:8080. Aparenetemente funciona bien localmente. Públicamente, digamos por ejemplo que la IP de mi router es 85.85.85.85, y le tengo puesto una redirección de puessto para que cuando alguien acceda a 85.85.85.85:80 en realidad dentro de mi red esté accediendo a 127.0.0.1:8080

Hasta ahí todo bien.

Le tengo puesto que cuando un usuario intente acceder a un directorio no se indexe su contenido. De nuevo, funciona.

Ahora bien, si el usuario en lugar de escribir "http://85.85.85.85/img/" escribe "http://85.85.85.85/img" (sin la barra final) en su navegador, en lugar de recibir un error 403 se le redirecciona a http://85.85.85.85:8080/img/.

He buscado por Internet y no encuentro nada parecido.

Si se trata, por ejemplo, de poner un archivo inexistente (http://85.85.85.85/archivoQueNoExiste) devuelve un error 404 como es lógico. Es decir, solo ocurre esta redirección al puerto equivoado (e interno) cuando se hace una petición sin la barra final de un directorio que si existe.

Tengo puesto permisos 555, dado que el servidor es meramente HTML.

¿Alguien tiene la más mínima idea de que podría ser?

2 : : 13/11/20(vie)03:51:34 ID:sjJchjmAa

Puedes pegarnos el conf con las ip y rutas censuradas? pero respetando los trailing slash

3 : root@bienvenidoainternet.org:~# : 13/11/20(vie)05:03:19 ID:gMRu6G/ca

¿Cuál conf concretamente es ese?

4 : : 13/11/20(vie)07:12:37 ID:1tpgc3Yn0

Es un problema interesante, pero sin ver tu configuración es dificl saber que sucede exactamente...
¿Que tal si simplemente configuras el servidor para siempre añadir el trailing slash?

buscale en google, es una simple regla del mod rewrite

5 : : 13/11/20(vie)10:08:46 ID:O0CMAxA9Q!

> buscale en google, es una simple regla del mod rewrite

No es necesario, puede ser mala configuración de las rutas canónicas y otras razones.

Y redirige va con g. Te voy a cobrar los gastos por adquisición de colirio.

6 : root@bienvenidoainternet.org:~# : 13/11/20(vie)10:14:53 ID:HDFrKW/Ta

Mi .htaccess:

Options -Indexes

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]

7 : root@bienvenidoainternet.org:~# : 13/11/20(vie)10:15:12 ID:HDFrKW/Ta

>>5

Mis disculpas, un lapsus.

8 : root@bienvenidoainternet.org:~# : 13/11/20(vie)11:09:11 ID:Nbh4M8CXa

>>5

Dudo que sea un problema relacionado con eso, pero no lo descarto. ¿Como se mira?

9 : root@bienvenidoainternet.org:~# : 13/11/20(vie)14:56:57 ID:LeEyt6dXa

Como hiciste la redirección del puerto? Usaste NAT en tu router?

10 : : 13/11/20(vie)15:13:22 ID:O0CMAxA9Q!

>>6 ¿no tienes acceso a la configuración de apache? usar htaccess genera cuello de botella, es mejor desactivarlo y modificar los .conf (desactivando AllowOverride). Revisa cómo está configurado el <VirtualHost> porque aquí el trailing slash suele dar problemas.

11 : : 13/11/20(vie)17:08:00 ID:LeEyt6dX0

Pero no debería siquiera redirigirlo a 8080. La redirección por NAT debería ser transparente.

12 : root@bienvenidoainternet.org:~# : 13/11/20(vie)19:36:19 ID:gMRu6G/ca

<VirtualHost *:8080>

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/web/

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log

Options -Indexes

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule [^/]$ %{REQUEST_URI}/ [L,NE,R=301]

</VirtualHost>

14 : root@bienvenidoainternet.org:~# : 13/11/20(vie)20:07:44 ID:1tpgc3Yn0

Sin mod_rewrite, así puedes añadir el slash
<Location /some/path>
DirectorySlash On
SetHandler some-handler
</Location>

15 : root@bienvenidoainternet.org:~# : 14/11/20(sab)11:59:11 ID:aQOwmBbka

Desesperado, me propongo acabar con todo por lo sano y simplemente ponerle puerto 80 en local a mí servidor, además de borrar las opciones del otro existente. Igualmente redirige al puerto 8080. Ahora sí que no entiendo nada.

16 : root@bienvenidoainternet.org:~# : 14/11/20(sab)12:07:44 ID:aQOwmBbka

https://gist.github.com/jiphex/9746499

Aquí parece haber alguna solución pero no comprendo cuál.

17 : root@bienvenidoainternet.org:~# : 14/11/20(sab)12:23:51 ID:aQOwmBbka

Desde la dirección pública el servidor si muestra la carpeta que yo quiero, /var/www/web1/, pero si accedo desde la dirección privada (192.168.0.X) muestra /var/www/ en lugar de /var/www/web1/.

¿Qué sentido tiene esto?

18 : root@bienvenidoainternet.org:~# : 14/11/20(sab)12:26:45 ID:aQOwmBbka

Además si accedo a 192.168.0.X/web1/ funciona, pero si accedo a 192.168.0.X/web1/img/ sale error 404, cosa la cual no paso si accedo haciendo 85.85.85.85/img/.

No entiendo nada.

19 : root@bienvenidoainternet.org:~# : 14/11/20(sab)12:32:15 ID:aQOwmBbka

Vale lo último es porque había puesto localhost:80 en lugar de *:80 (justo antes como prueba, en el resto del hilo *:80 estaba puesto). Aunque tampoco entiendo porque poner localhost en <VirtualHost> produce ese efecto.

20 : root@bienvenidoainternet.org:~# : 14/11/20(sab)12:46:23 ID:aQOwmBbka

Okay ahora si funciona. Sin .htaccess y nada de RewriteEngine On. No entiendo nada. Ni siquiera reconfiguré nada, reinicié la configuración, incluso purgando y reinstalando apache2, y seguía sin funcionar, y eso después de haber borrado la caché del navegador. Luego de repente sin funciona. ¿Quizás fuera algún problema de caché del servidor? No lo sé pero estoy agradecido de que funcione. Gracias a todos los que respondieron.

21 : root@bienvenidoainternet.org:~# : 14/11/20(sab)13:05:45 ID:aQOwmBbka

Si vuelvo a poner los puertos de antes el fallo vuelve, aunque ahora por lo menos no de manera permanente como ocurrió antes. Mi teoría es que alguna configuración o caché cambió, aunque ni idea de cuál.

22 : root@bienvenidoainternet.org:~# : 14/11/20(sab)15:04:33 ID:AAX785k4a

Completamente aparte la pregunta pero hay alguna razón por qué no uses nginx o lighthttpd?

23 : : 14/11/20(sab)19:07:22 ID:FyPEAeSQa

firefox cachea los redirect 302 aunque limpies cache o abras navegación privada, por lo que los redirect a slash solo se limpiaban reiniciando el navegador

24 : root@bienvenidoainternet.org:~# : 17/11/20(mar)11:04:04 ID:Wi2NXF9Q0

>>22

He pensado en ello, pero por comodidad decidí que no, ya conozco apache2. Quizás algún día me atreva. Algún día...

25 : : 17/11/20(mar)12:19:37 ID:eSuoZqA10

>>24
Yo también le tenía miedo al cambio entre Apache2 y nginx, pero de verdad nginx es mucho mas simple y ordenado.

Dele una vuelta.

26 : root@bienvenidoainternet.org:~# : 17/11/20(mar)12:41:25 ID:jD5MT+Rli

Nginx está en disputa legal por su propiedad y licencia. Ahora mismo es un producto tóxico.

27 : : 17/11/20(mar)12:51:57 ID:ygf3iz4ma

nginx ha hecho rrpp para inventar que es más rápido y eficiente que apache, una forma deshonesta de competir

28 : root@bienvenidoainternet.org:~# : 17/11/20(mar)13:16:48 ID:Wi2NXF9Q0

¿Qué es RRPP?

29 : : 21/11/20(sab)17:43:19 ID:W04cT4B30

>>28
Relaciones Publicas
8 KB

■ Este hilo se encuentra guardado en el archivo

weabot.py ver 0.10.9 Bienvenido a Internet BBS/IB