diff --git a/cdn/Dockerfile b/cdn/Dockerfile
index 055ca85..2c760ee 100644
--- a/cdn/Dockerfile
+++ b/cdn/Dockerfile
@@ -1,20 +1,10 @@
-FROM httpd:2.4.60
+FROM httpd:2.4.61
RUN apt-get update \
&& apt-get install -y curl libcgi-pm-perl \
&& rm -rf /var/lib/apt/lists/*
-RUN echo "ServerName localhost\n" \
- "Include conf/extra/httpd-vhosts.conf\n" \
- "LoadModule rewrite_module modules/mod_rewrite.so\n" \
- "LoadModule cgid_module modules/mod_cgid.so\n" \
- "LoadModule proxy_module modules/mod_proxy.so\n" \
- "LoadModule proxy_http_module modules/mod_proxy_http.so" \
- >> "/usr/local/apache2/conf/httpd.conf"
+COPY www/rwmap.pl /usr/local/bin/
+RUN chmod +x /usr/local/bin/rwmap.pl
-COPY apache2.conf /usr/local/apache2/conf/extra/httpd-vhosts.conf
-
-COPY rwmap.pl /usr/local/apache2/htdocs/
-RUN chmod +x /usr/local/apache2/htdocs/rwmap.pl
-
-CMD ["httpd-foreground"]
+RUN echo "IncludeOptional conf.d/*.conf" >> conf/httpd.conf
diff --git a/cdn/apache2.conf b/cdn/apache2.conf
deleted file mode 100644
index c685548..0000000
--- a/cdn/apache2.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-
- DocumentRoot /usr/local/apache2/htdocs
-
- RewriteEngine On
- RewriteMap rwmap prg:/usr/local/apache2/htdocs/rwmap.pl
- RewriteRule ^/image/catalog/(.+)$ ${rwmap:$1} [PT,QSA]
-
-
- Require all granted
-
-
-
- Options Indexes FollowSymLinks ExecCGI
- AllowOverride All
- Require all granted
- AddHandler cgi-script .pl
-
-
\ No newline at end of file
diff --git a/cdn/rwmap.pl b/cdn/rwmap.pl
index c150734..0c811cc 100755
--- a/cdn/rwmap.pl
+++ b/cdn/rwmap.pl
@@ -4,32 +4,23 @@ use warnings;
use Digest::SHA qw(sha1_hex);
# Desactiva el buffering de salida para que Apache pueda obtener la respuesta inmediatamente
$| = 1;
-my $serverName = $ENV{'SERVER_NAME'} || 'localhost';
-my $serverPort = $ENV{'SERVER_PORT'} || '80';
-my $scheme = ($serverPort == 443) ? 'https' : 'http';
-my $baseUrl = "$scheme://$serverName";
-$baseUrl .= ":$serverPort" if ($serverPort != 80 && $serverPort != 443);
while () {
chomp;
my $input = $_;
- my ($path, $filename) = split('/', $input);
+ $input =~ /^\/image\/(.*)\/([a-z0-9-_]+)\.(png)$/;
+ my $collection = $1;
+ my $name = $2;
+ my $extension = $3;
- if (defined $filename && $filename =~ /^(.+)\.(\w+)$/) {
- my $name = $1;
- my $extension = $2;
+ my $sha1 = sha1_hex($name);
+ my $first = substr($sha1, 0, 2);
+ my $last = substr($sha1, 1, 2);
+ my $newPath = "images/$collection/$first/$last/$name.$extension";
- my $sha1 = sha1_hex($name);
- my $first = substr($sha1, 0, 2);
- my $last = substr($sha1, 1, 2);
-
- if (-e "images/catalog/$path/$first/$last/$name.$extension") {
- print "$baseUrl/images/catalog/$path/$first/$last/$name.$extension\n";
- }
- else {
- print "$baseUrl/images/catalog/$path/$name.$extension\n";
- }
+ if (-e "/usr/local/apache2/htdocs/$newPath") {
+ print "/$newPath\n";
} else {
- print "Status: 400 Bad Request\n";
+ print "/image/$input\n";
}
}