<br><br><div class="gmail_quote">2012/5/3 Diego Kuperman <span dir="ltr"><<a href="mailto:diego@kuperman.com.ar" target="_blank">diego@kuperman.com.ar</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hola!,<br>
<br>
He visto que ya lo has resuelto y no he mirado como, pero acabo de ver el thread y me surge la duda:<div class="im"><br>
<br>
On 5/2/12 3:50 PM, Jordi "Txor" Casas Ríos wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Ou shit!<br>
<br>
Com l'he liat amb l'HTML!!!<br>
<br>
get'/' => sub {<br>
my $self= shift;<br></div>
my $cgi= $self->param('cgi');<br>
my $local_ip= $self->my_ip;<div class="im"><br>
chomp($local_ip);<br>
# Si posa /?cgi=nagios llavors redirect to Nagios.<br>
if (defined $cgi) {<br></div>
if ($cgieq 'nagios') {<div class="im"><br>
$self->redirect_to("http://$<u></u>local_ip:8080/nagios/");<br>
}<br>
}<br>
# Pinto la web igualment.<br>
$self->render('remote');<br>
};<br>
<br>
</div></blockquote>
No tiene sentido hacer redirect y tambien render..., yo creo que con algo asi deberia valer:<br>
<br>
if ( my $cgi = $self->param('cgi') ) {<div class="im"><br>
$self->redirect_to("http://$<u></u>local_ip:8080/nagios/")<br></div>
&& return if $cgi eq 'nagios';<br>
}<br></blockquote><div><br>Aaaaa sisi! Claro, podria sacarlo de ahi!<br> <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
# Trapi lleig per obtenir la IP del server.<br>
helpermy_ip=> sub {<br>
my $interface= "eth0";<br>
my $ifconfig= "/sbin/ifconfig";<br></div>
my @lines= qx|$ifconfig $interface| or die("Can't get info from ifconfig:".$!);<div class="im"><br>
foreach(@lines){<br>
if(/inet addr:([\d.]+)/){<br>
return "$1\n";<br>
last;<br>
}<br>
}<br>
};<br>
<br>
</div></blockquote>
<br>
Y ya como comentario adicional, veo que tienes varias configuraciones clavadas en el código. Probablemente sea mejor que estos sean valores por defecto (o que por defecto hagas un `which` al sistema) pero que se puedan configurar en la config de la app (app->config). Usando <a href="https://metacpan.org/module/Mojolicious::Plugin::JSONConfig" target="_blank">https://metacpan.org/module/<u></u>Mojolicious::Plugin::<u></u>JSONConfig</a> por ejemplo.<br>
<br>
-dk<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Source code:<br>
get '/' => sub { my $self = shift; my $cgi = $self->param('cgi'); my<br>
$local_ip = $self->my_ip; chomp($local_ip); # Si posa /?cgi=nagios<br>
llavors redirect to Nagios. if (defined $cgi) { if ($cgi eq 'nagios') {<br>
$self->redirect_to("http://$<u></u>local_ip:8080/nagios/"); } } # Pinto la web<br>
igualment. $self->render('remote'); }; # Trapi lleig per obtenir la IP<br>
del server. helper my_ip => sub { my $interface = "eth0"; my $ifconfig =<br>
"/sbin/ifconfig"; my @lines = qx|$ifconfig $interface| or die("Can't get<br>
info from ifconfig: ".$!); foreach(@lines){ if(/inet addr:([\d.]+)/){<br>
return "$1\n"; last; } } };<br>
<br>
<br>
<br>
<br>
Ara si?<br>
<br>
<br>
2012/5/2 Jordi "Txor" Casas Ríos <<a href="mailto:txorlings@gmail.com" target="_blank">txorlings@gmail.com</a><br></div>
<mailto:<a href="mailto:txorlings@gmail.com" target="_blank">txorlings@gmail.com</a>>><div><div class="h5"><br>
<br>
Diria que no es aixó el que vull, vull que un botó de l'HTML que<br>
dona la meva aplicació et canvii el port, de fet crec que lo<br>
interessant seria qué poso a l'href on m'magino que hi ha algo de<br>
màgia Mojo...<br>
<br>
Adjunto una foto amb el que tinc muntat ara mateix (uala com m'he<br>
liat al final, ho utilitzaré per a memória!)...<br>
<br>
I finalment adjunto el codi implicat, com veieu utilitzo un helper<br>
per obtenir la IP que hi ha a eth0. Aixó no em serveix perque<br>
podrien haver-hi més interfícies. Segur que es pot fer d'una altra<br>
manera, redirect_to posant només el port i el directori?<br>
MMmmmmMMMmmMMmmm.... ¿Com deu ser?<br>
<br>
<pre style='color:#000000;<u></u>background:#ffffff;'>get <span<br>
style='color:#0000e6; '>'/'</span> <span style='color:#808030;<br>
'>=</span><span style='color:#808030; '>></span> <span<br>
style='color:#800000; font-weight:bold; '>sub</span> <span<br>
style='color:#800080; '>{</span><br>
<span style='color:#800000; font-weight:bold; '>my</span> $self<br>
<span style='color:#808030; '>=</span> <span style='color:#400000;<br>
'>shift</span><span style='color:#800080; '>;</span><br>
<span style='color:#800000; font-weight:bold; '>my</span> $cgi <span<br>
style='color:#808030; '>=</span> $self<span style='color:#808030;<br>
'>-></span>param<span style='color:#808030; '>(</span><span<br>
style='color:#0000e6; '>'cgi'</span><span style='color:#808030;<br>
'>)</span><span style='color:#800080; '>;</span><br>
<span style='color:#800000; font-weight:bold; '>my</span> $local_ip<br>
<span style='color:#808030; '>=</span> $self<span<br>
style='color:#808030; '>-></span>my_ip<span style='color:#800080;<br>
'>;</span><br>
<span style='color:#400000; '>chomp</span><span<br>
style='color:#808030; '>(</span>$local_ip<span style='color:#808030;<br>
'>)</span><span style='color:#800080; '>;</span><br>
<span style='color:#696969; '># Si posa /?cgi=nagios llavors<br>
redirect to Nagios.</span><br>
<span style='color:#800000; font-weight:bold; '>if</span> <span<br>
style='color:#808030; '>(</span><span style='color:#800000;<br>
font-weight:bold; '>defined</span> $cgi<span style='color:#808030;<br>
'>)</span> <span style='color:#800080; '>{</span><br>
<span style='color:#800000; font-weight:bold; '>if</span> <span<br>
style='color:#808030; '>(</span>$cgi <span style='color:#808030;<br>
'>eq</span> <span style='color:#0000e6; '>'nagios'</span><span<br>
style='color:#808030; '>)</span> <span style='color:#800080; '>{</span><br>
$self<span style='color:#808030;<br>
'>-></span>redirect_to<span style='color:#808030; '>(</span><span<br>
style='color:#0000e6; '>"http://$local_ip:</span><<u></u>span<br>
style='color:#008c00; '>8080</span><span style='color:#0000e6;<br>
'>/nagios/"</span><span style='color:#808030; '>)</span><span<br>
style='color:#800080; '>;</span><br>
<span style='color:#800080; '>}</span><br>
<span style='color:#800080; '>}</span><br>
<span style='color:#696969; '># Pinto la web igualment.</span><br>
$self<span style='color:#808030; '>-></span>render<span<br>
style='color:#808030; '>(</span><span style='color:#0000e6;<br>
'>'remote'</span><span style='color:#808030; '>)</span><span<br>
style='color:#800080; '>;</span><br>
<span style='color:#800080; '>}</span><span style='color:#800080;<br>
'>;</span><br>
<br>
<span style='color:#696969; '># Trapi lleig per obtenir la IP del<br>
server.</span><br>
helper <span style='color:#797997; '>my_ip </span><span<br>
style='color:#808030; '>=></span> <span style='color:#800000;<br>
font-weight:bold; '>sub</span> <span style='color:#800080; '>{</span><br>
<span style='color:#800000; font-weight:bold; '>my</span> $interface<br>
<span style='color:#808030; '>=</span> <span style='color:#0000e6;<br>
'>"eth0"</span><span style='color:#800080; '>;</span><br>
<span style='color:#800000; font-weight:bold; '>my</span> $ifconfig<br>
<span style='color:#808030; '>=</span> <span style='color:#0000e6;<br>
'>"/sbin/ifconfig"</span><span style='color:#800080; '>;</span><br>
<span style='color:#800000; font-weight:bold; '>my</span> @lines<br>
<span style='color:#808030; '>=</span> <span style='color:#800000;<br>
background:#ffffe8; font-weight:bold; '>qx</span><span<br>
style='color:#800000; background:#ffffe8; '>|</span><span<br>
style='color:#000000; background:#ffffe8; '>$ifconfig<br>
$interface</span><span style='color:#800000; background:#ffffe8;<br>
'>|</span> <span style='color:#808030; '>or</span> <span<br>
style='color:#800000; font-weight:bold; '>die</span><span<br>
style='color:#808030; '>(</span><span style='color:#0000e6; '>"Can't<br>
get info from ifconfig: "</span><span style='color:#808030;<br>
'>.</span><span style='color:#797997; '>$!</span><span<br>
style='color:#808030; '>)</span><span style='color:#800080; '>;</span><br>
<span style='color:#800000; font-weight:bold; '>foreach</span><span<br>
style='color:#808030; '>(</span>@lines<span style='color:#808030;<br>
'>)</span><span style='color:#800080; '>{</span><br>
<span style='color:#800000; font-weight:bold; '>if</span><span<br>
style='color:#808030; '>(</span><span style='color:#800000;<br>
'>/</span><span style='color:#0000e6; '>inet addr:</span><span<br>
style='color:#808030; '>(</span><span style='color:#808030;<br>
'>[</span><span style='color:#797997; '>\d</span><span<br>
style='color:#0000e6; '>.</span><span style='color:#808030;<br>
'>]</span><span style='color:#808030; '>+</span><span<br>
style='color:#808030; '>)</span><span style='color:#800000;<br>
'>/</span><span style='color:#808030; '>)</span><span<br>
style='color:#800080; '>{</span><br>
<span style='color:#800000; font-weight:bold; '>return</span> <span<br>
style='color:#0000e6; '>"</span><span style='color:#797997;<br>
'>$1</span><span style='color:#0f69ff; '>\n</span><span<br>
style='color:#0000e6; '>"</span><span style='color:#800080; '>;</span><br>
<span style='color:#800000; font-weight:bold; '>last</span><span<br>
style='color:#800080; '>;</span><br>
<span style='color:#800080; '>}</span><br>
<span style='color:#800080; '>}</span><br>
<span style='color:#800080; '>}</span><span style='color:#800080;<br>
'>;</span><br>
</pre><br>
<br>
Salut i gràcies pel vostre temps!!<br>
<br>
<br></div></div>
2012/5/1 Alex Muntada <<a href="mailto:alexm@alexm.org" target="_blank">alexm@alexm.org</a> <mailto:<a href="mailto:alexm@alexm.org" target="_blank">alexm@alexm.org</a>>><div class="im"><br>
<br>
+ Jordi "Txor" Casas Ríos:<br>
<br>
> Como se redirecciona a un cliente remoto hacia el puerto 8080<br>
<br>
Si et refereixes a canviar el port de l'hypnotoad:<br>
<a href="https://metacpan.org/module/Mojo::Server::Hypnotoad#listen" target="_blank">https://metacpan.org/module/<u></u>Mojo::Server::Hypnotoad#listen</a><br>
<br>
Si et refereixes a tenir un proxy invers al port 8080 que<br>
connecti al<br>
port de l'hypnotoad com a backend, pots usar apache mod_proxy,<br>
nginx,<br>
pound, varnish, perlbal, etc. Hi ha moltes opcions, però primer<br>
caldria saber exactament el que vols dir.<br>
<br>
> la ruta /nagios independientemente de la IP en que escuche el<br>
server?<br>
<br>
# Suposant que hagi entès bé el que vols, potser això?<br>
<br>
define command {<br>
command_name check_http_port_url<br>
command_line /usr/lib/nagios/plugins/check_<u></u>http -H<br>
'$ARG1$' -p<br>
'$ARG2$ -u '$ARG3$' -f follow<br>
}<br>
<br>
define command {<br>
command_name check_http_hostaddress_port_<u></u>url<br>
command_line /usr/lib/nagios/plugins/check_<u></u>http -H<br>
'$HOSTADDRESS$' -p '$ARG1' -u '$ARG2$' -f follow<br>
}<br>
<br>
define service {<br>
use generic-service<br></div>
host_name <a href="http://web.example.org" target="_blank">web.example.org</a> <<a href="http://web.example.org" target="_blank">http://web.example.org</a>><br>
service_description Hypnotoad App<br>
check_command check_http_port_url!<a href="http://www.example.com" target="_blank">www.<u></u>example.com</a><br>
<<a href="http://www.example.com" target="_blank">http://www.example.com</a>>!8080!<u></u>/foo/bar<div class="im"><br>
# check_command<br>
check_http_hostaddress_port_<u></u>url!8080!/foo/bar<br>
}<br>
<br>
> Cuando lo tenega totalmente arreglado y limpito os cuelgo el<br>
código!<br>
<br>
Genial! :-)<br>
<br>
--<br></div>
Alex Muntada <<a href="mailto:alexm@alexm.org" target="_blank">alexm@alexm.org</a> <mailto:<a href="mailto:alexm@alexm.org" target="_blank">alexm@alexm.org</a>>><div class="im"><br>
<a href="http://alexm.org/" target="_blank">http://alexm.org/</a><br>
______________________________<u></u>_________________<br>
llista dels Barcelona-pm<br></div>
<a href="mailto:Barcelona-pm@pm.org" target="_blank">Barcelona-pm@pm.org</a> <mailto:<a href="mailto:Barcelona-pm@pm.org" target="_blank">Barcelona-pm@pm.org</a>><div class="im"><br>
<a href="http://mail.pm.org/mailman/listinfo/barcelona-pm" target="_blank">http://mail.pm.org/mailman/<u></u>listinfo/barcelona-pm</a><br>
BCN Perl Mongers: <a href="http://barcelona.pm.org" target="_blank">http://barcelona.pm.org</a><br>
<br>
<br>
<br>
<br>
<br>
______________________________<u></u>_________________<br>
llista dels Barcelona-pm<br>
<a href="mailto:Barcelona-pm@pm.org" target="_blank">Barcelona-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/barcelona-pm" target="_blank">http://mail.pm.org/mailman/<u></u>listinfo/barcelona-pm</a><br>
BCN Perl Mongers: <a href="http://barcelona.pm.org" target="_blank">http://barcelona.pm.org</a><br>
</div></blockquote><div class="HOEnZb"><div class="h5">
<br>
______________________________<u></u>_________________<br>
llista dels Barcelona-pm<br>
<a href="mailto:Barcelona-pm@pm.org" target="_blank">Barcelona-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/barcelona-pm" target="_blank">http://mail.pm.org/mailman/<u></u>listinfo/barcelona-pm</a><br>
BCN Perl Mongers: <a href="http://barcelona.pm.org" target="_blank">http://barcelona.pm.org</a></div></div></blockquote></div><br>