Página 1 de 2
Amuleweb en apache proxy
Publicado: 19 Mar 2018, 08:55
por bbvedf
Vaya por delante que mi problema no está tan relacionado con Raspbian como con el propio Apache.
Sólo pregunto por si alguien del foro tiene idea de cómo manejar estas cosas
Veamos, tengo configurado amule en Raspbian con su respectivo gui, demonio y frontal web. Todo funciona como debe excepto una cosa, que no doy con ella. Lo que pretendo es realizar un reverse proxy en Apache para el tema web, principalmente por dos motivos:
- Utilizar el puerto 80. Así me evito abrir un puerto más en el router.
- Utilizar un formato carpeta en la url, en lugar del puerto.
Total, que en mi Apache he añadido un par de líneas para resolver este asunto:
Código: Seleccionar todo
ProxyPass /amule/ http://localhost:4711/
ProxyPassReverse /amule/ http://localhost:4711/
Todo bien, sin problema. Si accedo a mi ip pública
http://dominio/amule/ accedo a mi Raspbian y todo bien.
Mi duda/pregunta/ignorancia viene por un "detallito". Si en mi navegador escribo esa misma dirección sin la barra final, en plan
http://dominio/amule ..., se va todo a la porra. Error 404 y ni carga la página.
Tengo la impresión de que me falta alguna configuración adicional en Apache. Apostaría por alguna RewriteRule, pero siguiendo unos cuantos tutos sólo he llegado a que cargue malamente la página de inicio (por algún problema de rutas no me salen imágenes ni me deja logarme).
Pregunta. Alguien ha hecho algo parecido a lo que pretendo? Voy muy desencaminado?
Saludos!
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 09:09
por egrueda
En la config de apache indicas una regla para "/amule/", con barra delante y detrás.
Por eso, cuando metes una dirección sin barra, la regla no coincide y no se ejecuta.
Con apache puedes usar un rewrite antes de esas dos líneas:
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 09:44
por bbvedf
Gracias tío!
Ya había probado eso en alguno de mis intentos. Por alguna razón que no sé trazar, no me funciona ...
En el navegador, pantallazo ...
Código: Seleccionar todo
Not Found
The requested URL /amule was not found on this server.
Apache/2.4.10 (Raspbian) Server at dominio Port 80
En los logs, poco más o menos lo mismo:
Código: Seleccionar todo
...
IP - - [19/Mar/2018:09:41:25 +0100] "GET /amule HTTP/1.1" 404 511 "-" "Mozilla/5.0 (Windos NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
IP - - [19/Mar/2018:09:41:28 +0100] "GET /amule/ HTTP/1.1" 200 1946 "-" "Mozilla/5.0 (Winows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
pi@raspberrypi:/var/log/apache2 $
Se te ocurre qué puedo tener mal?
Saludos!
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 09:47
por egrueda
Pues eso significa que no se está aplicando el rewrite, o bien no está habilitado el mod_rewrite a nivel global.
¿Puedes confirmarlo?
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 10:18
por bbvedf
Te doy toda la razón. A mí también me parece que se me escapa algo, pero no sé por dónde mirarlo.
El módulo lo tengo habilitado:
También he leído que se pueden utilizar las reglas en archivos .htaccess, pero yo las tengo en un virtual host: /etc/apache2/sites-available/amule.conf
Código: Seleccionar todo
RewriteEngine on
RewriteRule ^/amule$ /amule/ [R]
ProxyPass /amule/ http://localhost:4711/
ProxyPassReverse /amule/ http://localhost:4711/
Que luego habilito:
Sigo pensando que el problema es que tengo poca idea de Apache

Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 10:19
por egrueda
Ni que decir tiene que has reiniciado apache después de añadir la configuración del rewrite, ¿no?
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 10:23
por bbvedf
Jajjaja. Sí, a cada cambio que hago en el conf le doy a un 'sudo service apache2 reload'.
Acabo de darle con restart para salir de dudas, pero sigue haciendo lo mismo.
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 10:27
por egrueda
Vale, perdona por la pregunta, es que prefiero no dar nada por hecho, por si acaso.
Voy a echarle un ojo más despacio (luego, cuando no esté currando)
¿Te importa compartir el amule.conf completo?
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 10:44
por bbvedf
Jajaja. No hay problema.
El amule.conf del apache (/etc/apache2/sites-available/amule.conf) ya lo tienes arriba:
Código: Seleccionar todo
RewriteEngine on
RewriteRule ^/amule$ /amule/ [R]
ProxyPass /amule/ http://localhost:4711/
ProxyPassReverse /amule/ http://localhost:4711/
El amule.conf "gordo" (/home/pi/.aMule/amule.conf) es éste:
Código: Seleccionar todo
[eMule]
AppVersion=2.3.1
Nick=http://www.aMule.org
NewVersionCheck=0
StartupMinimized=0
ConfirmExit=0
EnableTrayIcon=0
MinToTray=0
ToolTipDelay=1
VideoPlayer=
MaxDownload=0
MaxUpload=0
SlotAllocation=2
Port=4662
UDPEnable=1
UDPPort=4672
UPnPEnabled=0
UPnPTCPPort=50000
Address=
MaxSourcesPerFile=300
MaxConnections=500
ConnectToKad=1
ConnectToED2K=1
Autoconnect=1
Reconnect=1
RemoveDeadServer=1
DeadServerRetry=3
Serverlist=0
AddServerListFromServer=0
AddServerListFromClient=0
Scoresystem=1
SmartIdCheck=1
SafeServerConnect=0
AutoConnectStaticOnly=0
ManualHighPrio=0
ICH=1
AICHTrust=0
AddNewFilesPaused=0
DAPPref=1
PreviewPrio=0
StartNextFile=0
StartNextFileSameCat=0
StartNextFileAlpha=0
AllocateFullFile=0
CheckDiskspace=1
MinFreeDiskSpace=1
UAPPref=1
IncomingDir=/media/pi/PATRIOT/mldonkey/Incoming
TempDir=/media/pi/PATRIOT/mldonkey/Temp
ShareHiddenFiles=0
StatGraphsInterval=3
StatsAverageMinutes=5
VariousStatisticsMaxValue=100
DownloadCapacity=300
UploadCapacity=100
statsInterval=30
MaxConnectionsPerFiveSeconds=20
FileBufferSizePref=16
QueueSizePref=50
ServerKeepAliveTimeout=0
ShowInfoOnCatTabs=1
ShowVersionOnTitle=0
ShowOverhead=0
VerticalToolbar=0
GeoIPEnabled=1
3DDepth=5
AutoSortDownloads=0
SeeShare=2
IPFilterURL=
IPFilterAutoLoad=1
FilterLevel=127
FilterLanIPs=1
ParanoidFiltering=1
IPFilterSystem=0
OnlineSignature=0
OnlineSignatureUpdate=5
OSDirectory=/home/pi/.aMule/
FilterMessages=1
FilterAllMessages=0
MessagesFromFriendsOnly=0
MessageFromValidSourcesOnly=1
FilterWordMessages=0
MessageFilter=
ShowMessagesInLog=1
FilterComments=0
CommentFilter=
AdvancedSpamFilter=1
MessageUseCaptchas=1
Language=
SplitterbarPosition=75
YourHostname=
DateTimeFormat=%A, %x, %X
AllcatType=0
ShowAllNotCats=0
SmartIdState=0
DropSlowSources=0
KadNodesUrl=http://download.tuxfamily.org/technosalad/utils/nodes.dat
Ed2kServersUrl=http://gruk.org/server.met.gz
ShowRatesOnTitle=0
GeoLiteCountryUpdateUrl=http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
StatsServerName=Shorty's ED2K stats
StatsServerURL=http://ed2k.shortypower.dyndns.org/?hash=
StatColor0=4194304
StatColor1=16761024
StatColor2=8454016
StatColor3=53760
StatColor4=32768
StatColor5=8421631
StatColor6=200
StatColor7=140
StatColor8=16750230
StatColor9=12583104
StatColor10=8454143
StatColor11=0
StatColor12=8454016
StatColor13=53760
StatColor14=32768
TableOrderingServer=N:0:0
TableWidthsServer=N:150,A:140,P:25,D:150,p:25,U:40,F:45,r:60,f:40,S:40,V:80
TableOrderingDownload=a:0:0
TableWidthsDownload=a:30,N:260,Z:60,T:65,C:65,S:65,P:170,u:50,p:55,s:70,r:110,c:220,R:220
TableOrderingSources=N:0:0
TableWidthsSources=N:260,D:65,S:65,U:65,P:170,V:50,q:55,O:110,F:200,R:200,m:100
TableOrderingShared=N:0:0
TableWidthsShared=N:250,Z:100,Y:50,p:70,I:220,Q:100,A:100,T:120,R:100,P:120,C:120,D:220
TableOrderingPeers=N:0:0
TableWidthsPeers=N:260,D:65,S:65,U:65,s:65,A:170,V:50,Q:70,q:70,O:110,f:200,m:100
[GUI]
HideOnClose=0
[GUI/TransferWnd]
Splitter=418
ShowClientList=1
[Browser]
CustomBrowserString=
OpenPageInTab=1
[ExternalConnect]
UseSrcSeeds=0
ShowPercent=1
ShowProgressBar=1
AcceptExternalConnections=1
ECAddress=0.0.0.0
ECPort=4712
UPnPECEnabled=0
ECPassword=...pass_md5...
UseSecIdent=1
IpFilterClients=1
IpFilterServers=1
TransmitOnlyUploadingClients=0
[Statistics]
MaxClientVersions=0
[PowerManagement]
PreventSleepWhileDownloading=0
[SkinGUIOptions]
Skin=
[Razor_Preferences]
FastED2KLinksHandler=1
MAIN_X_POS=0
MAIN_Y_POS=36
MAIN_X_SIZE=1024
MAIN_Y_SIZE=704
Maximized=1
SRV_SPLITTER_POS=463
[WebServer]
Enabled=1
Template=mobileMule
Password=...pass_md5...
UseLowRightsUser=0
PasswordLow=
Port=4711
UPnPWebServerEnabled=0
WebUPnPTCPPort=50001
PageRefreshTime=120
UseGzip=1
Path=amule
[Obfuscation]
IsClientCryptLayerSupported=1
IsCryptLayerRequested=1
IsClientCryptLayerRequired=0
CryptoPaddingLenght=254
CryptoKadUDPKey=-1610009507
[Proxy]
ProxyEnablePassword=0
ProxyUser=
ProxyPassword=
ProxyEnableProxy=0
ProxyType=0
ProxyName=
ProxyPort=1080
[UserEvents]
[UserEvents/DownloadCompleted]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
[UserEvents/NewChatSession]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
[UserEvents/OutOfDiskSpace]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
[UserEvents/ErrorOnCompletion]
CoreEnabled=0
CoreCommand=
GUIEnabled=0
GUICommand=
Está prácticamente por defecto. He añadido los servidores met, las rutas de descarga, activado las ExternalConnect, activado WebServer y cambiado el template (creo que nada más ...).
Sigo pensando que es alguna cosa de Apache, pero mis conocimientos no dan más de sí.
Saludos!
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 11:36
por egrueda
Se me ocurre una cosa, ¿puedes probar a añadir los dos casos?
Código: Seleccionar todo
ProxyPass /amule http://localhost:4711
ProxyPassReverse /amule http://localhost:4711
ProxyPass /amule/ http://localhost:4711/
ProxyPassReverse /amule/ http://localhost:4711/
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 14:04
por bbvedf
Buenas...
Ésa es la opción del "sólo he llegado a que cargue malamente la página de inicio (por algún problema de rutas no me salen imágenes ni me deja logarme)."
Llego a la página, pero al logarme ...
Código: Seleccionar todo
Not Found
The requested URL /main.php was not found on this server.
Apache/2.4.10 (Raspbian) Server at dominio Port 80
En el access.log:
Código: Seleccionar todo
IP - - [19/Mar/2018:13:56:14 +0100] "GET /amule HTTP/1.1" 200 1947 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
IP - - [19/Mar/2018:13:56:14 +0100] "GET /login-icon.png HTTP/1.1" 404 516 "http://dominio/amule" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
IP - - [19/Mar/2018:13:56:15 +0100] "GET /favicon.ico HTTP/1.1" 404 513 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
IP - - [19/Mar/2018:13:56:15 +0100] "GET /favicon.ico HTTP/1.1" 404 514 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
IP - - [19/Mar/2018:13:56:20 +0100] "POST /main.php HTTP/1.1" 404 511 "http://dominio/amule" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 14:22
por egrueda
¡aah! ya lo pillo
Claro, te está enviando a /main.php pero tú necesitas que te envíe a /amule/main.php
O sea, el problema es que amule está corriendo en raiz, y el proxy añade la ruta /amule/, pero el propio amule no respeta esa ruta y trata de ejecutarse desde raiz.
Bien, bien, ya vamos encaminados xD
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 14:45
por bbvedf
Lo tenemos!!!
Tu razonamiento era bueno: Problema de rutas.
He hecho unas cuantas combinaciones en plan chimpancé, y ésta es la buena:
Código: Seleccionar todo
ProxyPass / http://localhost:4711/
ProxyPassReverse /amule http://localhost:4711/
ProxyPass /amule/ http://localhost:4711/
ProxyPassReverse /amule/ http://localhost:4711/
Ahora me queda comprender lo que he hecho ...
Jajajjaa
Por darle una vuelta de tuerca ... cuando me logo, la ruta me cambia a raiz (se pierde el /amule por el camino).
http://dominio/main.php#page-status
Imagino que tiene que ver con el ProxyPass /, como va en raiz pues todo en raiz.
No me causa ningún trastorno en absoluto pero, te suena alguna regla o parámetro para que mantenga el /amule?
Y ya otra pregunta, pero esta interior para mí: Por qué no ha funcionado en ningún caso el RewriteRule? Qué tengo mal?
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 16:41
por egrueda
Ok, ahora prueba sólo con estas dos líneas:
Código: Seleccionar todo
ProxyPass /amule http://localhost:4711
ProxyPassReverse /amule http://localhost:4711
Reinicia y prueba
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 22:22
por bbvedf
Sólo con eso, nada. Volvemos a la fase de "malamente"
Not Found
The requested URL /main.php was not found on this server.
Apache/2.4.10 (Raspbian) Server at dominio Port 80
Re: Amuleweb en apache proxy
Publicado: 19 Mar 2018, 22:33
por egrueda
Pues algo se me escapa, porque he montado el mismo sistema desde cero, con amule + apache proxy y sólo con esas dos líneas me está funcionando bien.
Por descartar cosas, ¿puedes vaciar cache o probar con otro navegador?
Re: Amuleweb en apache proxy
Publicado: 20 Mar 2018, 08:32
por bbvedf
Nada, sigue igual.
No parece tema de cache. Me da que he debido dejar el apache medio tonto en algún momento. Muchas pruebas y servicios a sus espaldas ...
Me queda la opción que dices: Montar un sistema de cero y comparar ficheros, pero ahora que funciona no sé yo jajajjaja
Re: Amuleweb en apache proxy
Publicado: 20 Mar 2018, 08:54
por egrueda
No me doy por vencido :-) es una configuración demasiado simple como para que falle.
Vamos a ver qué hay distinto en nuestras configuraciones.
Tengo apache2 (2.4.25) sobre raspian stretch (9.4)
Estos son los módulos que tengo activos en mi apache:
Código: Seleccionar todo
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
mpm_event_module (shared)
negotiation_module (shared)
proxy_module (shared)
proxy_html_module (shared)
proxy_http_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)
vhost_alias_module (shared)
xml2enc_module (shared)
Aparte del proxy_module, tengo cargados el proxy_http_module y el proxy_html_module
¿Puedes comprarar?
Re: Amuleweb en apache proxy
Publicado: 20 Mar 2018, 09:23
por bbvedf
Ésa es la actitud!
Yo tengo Apache 2.4.10 Prefork sobre Raspbian 8 Jessie.
Estos son los módulos cargados. Recuerda que mi Apache ha tenido (y tiene) mucho trajín, así que igual hay cosas de más ...
Código: Seleccionar todo
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
headers_module (shared)
lbmethod_byrequests_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php5_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_connect_module (shared)
proxy_http_module (shared)
proxy_wstunnel_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
slotmem_shm_module (shared)
socache_shmcb_module (shared)
ssl_module (shared)
status_module (shared)
Re: Amuleweb en apache proxy
Publicado: 20 Mar 2018, 09:30
por bbvedf
Me faltaba el proxy_html. Activado y apache reiniciado.
Sigue el malamente. Accedo a la url pero no me carga imágenes y me peta la validación. El problema de las rutas.
Probado sólo con estas dos líneas ...
ProxyPass /amule
http://localhost:4711
ProxyPassReverse /amule
http://localhost:4711