<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>