¿La razón? En este servercito tengo un proxy squid corriendo, tengo youtube.com bloqueado por default. El caso es que encontré una serie de cursos para dibujar que precisamente sólo están en YT.
Intendé configurar estas excepciones en el proxy pero no tuve éxito. De ahí se me ocurrió probar con la configuración de archivos pac (Proxy Auto Configuration).
Desde el inico pensé en un esquema ocmo el de CGI en el cual podía hacer que incluso un script de shell pudiera ejecutarse. Luego de buscarle un rato encontré algunas alternativas pero no me sentí cómodo con ninguna por lo que decidí la vieja confiable web server +ssl.
Hace un montón de años, cuando PHP 5 era el último gruto de l amoda dejé de trabajar con estas soluciones. Imagínense. Me encontré con que php ya va en la versión 7. Como sea, no iba a instalar Apache para configurarlo otra ves con ssl y ahora, php. Lo más lógico era buscar cómo ponerle phpp al nginx.
Pues bueno, encontré otro tutorial (How to Install Nginx + PHP5-FPM + MySEL on Linuxmint 18 / Linux Mint 17) a partir del cual me basé . Valga aclarar que tengo un Linux Mint 19.3 (Tricia)
Ok, primer paso, descargar el software.
# apt-get install php-fpm php-cli
Segundo: Editar /etc/php/7.2/fpm/php.ini
Busque cgi.fix_pathinfo y póngalo a cero
cgi.fix_pathinfo=0
Tercero: Editar /etc/php/7.2/fpm/pool.d/www.conf
Busque listen y póngalo así:
listen = /run/php/php7.2-fpm.sock
Cuarto: Agregar el soporte de php a nginx
Originalmente mi servidor web tenía definido un bloque server para abos puertos 80 y 443.
Decidí separarlos y quedó así:
server {
listen 443;
server_name 192.168.100.109;
root /var/www/html;
index index.html index.htm index.php;
ssl on;
ssl_certificate tudominio.crt;
ssl_certificate_key tudominio.key;
}
server {
listen 80;
server_name 192.168.100.109;
root /var/www/html;
location / {
index index.html index.php;
}
location ~ \.(php|pac|html)$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
}
}
Hecho lo cual hice un archivo de texto desde el que se deberían importar las ligas, localizado en
/var/www/html/excepciones.txt con el siguiente contenido:
https://www.youtube.com/watch?v=H4jo3DYkniE
https://www.youtube.com/watch?v=5HBcEsXIxYw
https://www.youtube.com/watch?v=EuHpVPI7h_4
De ahí, hice el archivo .pac, que como vimos arriba es una de las extensiones asociadas a php:
function FindProxyForURL(url,host) {
if (shExpMatch(host,"192.168.100.107")) {
return "DIRECT";
}
<?php
$ifp=fopen("/opt/proxy/leo/etc/clasesSep.txt","r");
while ($linea=rtrim(fgets($ifp))) {
printf(" else if (url.endsWith(\"%s\")) {\n",$linea);
printf("\t\treturn \"DIRECT\";\n\t }");
}
fclose($ifp);
?>
else {
return "PROXY 192.168.100.109:32008";
}
}
La cosa es que devuelve el siguiente archivo de texto que es el que se le envía al nevagdor o sistema operativo para configurar el proxy
function FindProxyForURL(url,host) {
if (shExpMatch(host,"192.168.100.107")) {
return "DIRECT";
}
else if (url.endsWith("https://www.youtube.com/watch?v=H4jo3DYkniE")) {
return "DIRECT";
} else if (url.endsWith("https://www.youtube.com/watch?v=5HBcEsXIxYw")) {
return "DIRECT";
} else if (url.endsWith("https://www.youtube.com/watch?v=EuHpVPI7h_4")) {
return "DIRECT";
} else {
return "PROXY 192.168.100.109:32008";
}
}
Al final, no está funcionando ... pro bueno, estoy trabajando en ello.
Hasta la próxima!
No hay comentarios.:
Publicar un comentario