Explorar el Código

Enable RPAF module to set SERVER_PORT

We could have also used auto_prepend_file but maybe some script
wants that feature
Girish Ramakrishnan hace 7 años
padre
commit
ff0fdde5b3
Se han modificado 2 ficheros con 23 adiciones y 1 borrados
  1. 14 1
      Dockerfile
  2. 9 0
      apache/lamp.conf

+ 14 - 1
Dockerfile

@@ -39,9 +39,10 @@ RUN apt-get update && apt-get install -y php libapache2-mod-php crudini \
     php-zip \
     proftpd proftpd-mod-ldap \
     cron \
+    apache2-dev \
+    build-essential \
     && rm -rf /var/cache/apt /var/lib/apt/lists /etc/ssh_host_*
 
-
 # configure apache
 RUN rm /etc/apache2/sites-enabled/*
 RUN sed -e 's,^ErrorLog.*,ErrorLog "|/bin/cat",' -i /etc/apache2/apache2.conf
@@ -63,6 +64,18 @@ RUN crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 64M && \
 
 RUN mv /etc/php/7.0/apache2/php.ini /etc/php/7.0/apache2/php.ini.orig && ln -sf /app/data/php.ini /etc/php/7.0/apache2/php.ini
 
+# install RPAF module to override HTTPS, SERVER_PORT, HTTP_HOST based on reverse proxy headers
+# https://www.digitalocean.com/community/tutorials/how-to-configure-nginx-as-a-web-server-and-reverse-proxy-for-apache-on-one-ubuntu-16-04-server
+RUN mkdir /app/code/rpaf && \
+    curl -L https://github.com/gnif/mod_rpaf/tarball/669c3d2ba72228134ae5832c8cf908d11ecdd770 | tar -C /app/code/rpaf -xz --strip-components 1 -f -  && \
+    cd /app/code/rpaf && \
+    make && \
+    make install && \
+    rm -rf /app/code/rpaf
+
+# configure rpaf
+RUN echo "LoadModule rpaf_module /usr/lib/apache2/modules/mod_rpaf.so" > /etc/apache2/mods-available/rpaf.load && a2enmod rpaf
+
 # phpMyAdmin
 RUN mkdir -p /app/code/phpmyadmin && \
     curl -L https://files.phpmyadmin.net/phpMyAdmin/4.8.1/phpMyAdmin-4.8.1-english.tar.gz | tar zxvf - -C /app/code/phpmyadmin --strip-components=1

+ 9 - 0
apache/lamp.conf

@@ -10,6 +10,15 @@
         Require all granted
     </Directory>
 
+    <IfModule mod_rpaf.c>
+        RPAF_Enable             On
+        RPAF_ProxyIPs           172.18.0.1/16
+        RPAF_SetHostName        On
+        RPAF_SetHTTPS           On
+        RPAF_SetPort            On
+        RPAF_ForbidIfNotProxy   Off
+    </IfModule>
+
     ## PMA BEGIN
 
     Alias /phpmyadmin /app/code/phpmyadmin