<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed_style.xsl" type="text/xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="https://www.rssboard.org/media-rss">
  <channel>
    <title>Tutoriales on El blog de Ignacio</title>
    <link>https://www.igalvan.es/tags/tutoriales/</link>
    <description>Recent content in Tutoriales on El blog de Ignacio</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>es</language>
    <copyright>Ignacio Galván Vitas</copyright>
    <lastBuildDate>Thu, 06 Nov 2014 21:39:00 +0100</lastBuildDate><atom:link href="https://www.igalvan.es/tags/tutoriales/index.xml" rel="self" type="application/rss+xml" /><icon>https://www.igalvan.es/logo.svg</icon>
    
    
    <item>
      <title>Configurar nginx con SSL como proxy inverso</title>
      <link>https://www.igalvan.es/posts/configurar-nginx-con-ssl-como-proxy/</link>
      <pubDate>Thu, 06 Nov 2014 21:39:00 +0100</pubDate>
      
      <guid>https://www.igalvan.es/posts/configurar-nginx-con-ssl-como-proxy/</guid>
      <description><![CDATA[<p>El caso es que tengo una aplicación que tiene una interfaz web para su administración pero sus autores no implementaron el soporte para SSL. Como no me gusta facilitar las cosas a los amigos de lo ajeno que se dedican a intentar perjudicar a los demás habitantes de este mundo que conocemos como Internet, hoy voy a explicaros como utilizar esta pequeña navaja suiza conocida como nginx.</p>
<p>Como todo lo que publico, el tutorial está pensado para ser utilizado en <em>Ubuntu Server</em>.</p>
<h2 id="instalar-nginx">Instalar nginx</h2>
<p>El primer paso es instalar nginx en el servidor, si no lo tenemos ya hecho.</p>
<pre tabindex="0"><code>sudo apt-get update
sudo apt-get install nginx
</code></pre><h2 id="crear-un-certificado">Crear un certificado</h2>
<p>En mi caso, dado que es un servidor casero donde se usa, voy a generar un certificado autofirmado desde el propio equipo:</p>
<pre tabindex="0"><code>sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
</code></pre><h2 id="modificar-la-configuración">Modificar la configuración</h2>
<p>Vamos a modificar la configuración para que cuando un usuario se conecte por el puerto 443 mediante HTTP seguro, haga un proxy a la aplicación que escucha por el puerto 2000 en plano.</p>
<p><code>sudo vi /etc/nginx/sites-enabled/default</code></p>
<p>Dentro del fichero modificamos la configuración para que se parezca a esta:</p>
<pre tabindex="0"><code>server {
 listen 80;
 return 301 https://$host$request_uri;
 }
server {
listen 443;
 server_name xxxxx.yyyyy.zzz;
ssl_certificate /etc/nginx/cert.crt;
 ssl_certificate_key /etc/nginx/cert.key;
ssl on;
 ssl_session_cache builtin:1000 shared:SSL:10m;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
 ssl_prefer_server_ciphers on;
access_log /var/log/nginx/miweb.access.log;
location / {
proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
# Fix the “It appears that your reverse proxy set up is broken&#34; error.
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
proxy_redirect http://localhost:8080 https://xxxxx.yyyyy.zzz;
 }
 }
</code></pre><h2 id="recargar-la-configuración-y-probar">Recargar la configuración y probar</h2>
<p>Primero probamos que la configuración sea estructuralmente correcta y luego recargamos la configuración de nginx mediante los siguientes comandos:</p>
<pre tabindex="0"><code>nginx -t
service nginx restart
</code></pre><p>y probamos desde nuestro navegador a acceder a la URL https://miservidor/</p>
]]></description>
      
    </item>
    
    
    
    <item>
      <title>Instalar el cliente de No-IP en Ubuntu 14.04</title>
      <link>https://www.igalvan.es/posts/instalar-el-cliente-de-no-ip-en-ubuntu/</link>
      <pubDate>Wed, 29 Oct 2014 21:44:00 +0100</pubDate>
      
      <guid>https://www.igalvan.es/posts/instalar-el-cliente-de-no-ip-en-ubuntu/</guid>
      <description><![CDATA[<p>Montando un pequeño servidor para acceder a la red interna de mi casa me he visto en la necesidad de instalar el cliente de No-IP para poder disponer de un nombre DNS más fácil de recordar que la IP de mi conexión de <em>Internet</em> que además cambia cada cierto tiempo. ;-)</p>
<p>Aunque la máquina tiene instalada <em>Ubuntu</em> 14.04, el proceso que explico a continuación es valido para muchas otras distribuciones.</p>
<p>El primer paso, que ya se que no es recomendable, es elevar tus privilegios a <em>root</em>. Si no quieres hacerlo siempre puedes añadir <code>sudo</code> delante de los comandos que necesiten los privilegios.</p>
<p><code>sudo -i</code></p>
<p>Descargamos el paquete con el código fuente desde la propia <em>web</em> deNo-IP y proceder a descomprimirlo:</p>
<pre tabindex="0"><code>cd /usr/local/src/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
ls
</code></pre><p>Accedemos al directorio que hemos descomprimido:</p>
<p><code>cd  noip-2.1.9-1/</code></p>
<p>Compilamos e instalamos el binario:</p>
<p><code>make install</code></p>
<p>Durante el proceso de instalación nos preguntará por los parametros de configuración. Podemos indicar cualquier cosa porque volveremos a reconfigurar el cliente después de que termine de instarlo.</p>
<p>Una vez haya terminado de compilar e instalar el cliente ejecutaremos el siguiente comando para configurar el cliente:</p>
<p><code>/usr/local/bin/noip2 -C</code></p>
<p>Y se nos pedirán los siguientes datos:</p>
<pre tabindex="0"><code>Please enter the login/email string for no-ip.com xxxxxx
Please enter the password for user &#39;xxxxxx&#39; ****************
Only one host [xxxxxxxxxx.xxxx.xx is registered to this account.
It will be used.
Please enter an update interval:[30] 
Do you wish to run something at successful update?[N] (y/N) n
New configuration file &#39;/usr/local/etc/no-ip2.conf&#39; created.
</code></pre><p>El siguiente paso es crear el servicio para que arranque automáticamente en el inicio del sistema operativo:</p>
<p><code>nano /etc/init.d/noip</code></p>
<p>Copiamos y pegamos esta configuración dentro del editor <em>nano</em>:</p>
<pre tabindex="0"><code>#######################################################
 #! /bin/sh
 case &#34;$1&#34; in
 start)
 echo &#34;Starting noip2&#34;
 /usr/local/bin/noip2
 ;;
 stop)
 echo -n &#34;Shutting down noip2&#34;
 for i in `noip2 -S 2&gt;&amp;1 | grep Process | awk &#39;{print $2}&#39; | tr -d &#39;,&#39;`
 do
 noip2 -K $i
 done
 ;;
 *)
 echo &#34;Usage: $0 {start|stop}&#34;
 exit 1
 esac
 exit 0
 #######################################################
</code></pre><p>Para guardar las modificaciones lo hacemos con <code>Ctrl+X</code>. Ahora cambiamos los permisos del <em>script</em> y probamos su ejecución:</p>
<pre tabindex="0"><code>chmod 700 /etc/init.d/noip
sudo /etc/init.d/noip stop
sudo /etc/init.d/noip start
</code></pre><p>Editamos el fichero del proceso de arranque de <em>Ubuntu</em>:</p>
<p><code>nano /etc/rc.local</code></p>
<p>Ponemos en la línea por encima de la línea <code>exit 0</code> el siguiente comando:</p>
<p><code>/etc/init.d/noip start</code></p>
<p>Para guardar las modificaciones lo hacemos con <code>Ctrl+X</code>. Y con este paso se finaliza la instalación. Para comprobar que está funcionando correctamente puedes probar con el comando <code>nslookup</code> para verificar que se actualiza correctamente la entrada DNS en los servidores de No-IP.</p>
<p><code>nslookup xxxxxxxxxx.xxxx.xx</code></p>
]]></description>
      
    </item>
    
    
  </channel>
</rss>
