Skip to content

Instantly share code, notes, and snippets.

@nddipiazza
Created December 14, 2019 03:10
Show Gist options
  • Save nddipiazza/8b7b89a6622955f5c0c49165210730d6 to your computer and use it in GitHub Desktop.
Save nddipiazza/8b7b89a6622955f5c0c49165210730d6 to your computer and use it in GitHub Desktop.
setup-mod-proxy.sh
apt update
apt install openssl
# edit me, MUST have trailing slash
export fusion_host="http://192.168.1.199:8764/"
export myip="$(hostname --ip-address)"
echo '[ req ]' >> /usr/local/apache2/fusion.com.conf
echo 'default_bits = 4096' >> /usr/local/apache2/fusion.com.conf
echo 'prompt = no' >> /usr/local/apache2/fusion.com.conf
echo 'encrypt_key = no' >> /usr/local/apache2/fusion.com.conf
echo 'default_md = sha256' >> /usr/local/apache2/fusion.com.conf
echo 'distinguished_name = dn' >> /usr/local/apache2/fusion.com.conf
echo 'req_extensions = req_ext' >> /usr/local/apache2/fusion.com.conf
echo '' >> /usr/local/apache2/fusion.com.conf
echo '[ dn ]' >> /usr/local/apache2/fusion.com.conf
echo 'CN = lucidworks.com' >> /usr/local/apache2/fusion.com.conf
echo 'emailAddress = nicholas.dipiazza@lucidworks.com' >> /usr/local/apache2/fusion.com.conf
echo 'O = Lucidworks' >> /usr/local/apache2/fusion.com.conf
echo 'OU = Engineering' >> /usr/local/apache2/fusion.com.conf
echo 'L = Madison' >> /usr/local/apache2/fusion.com.conf
echo 'ST = Wisconsin' >> /usr/local/apache2/fusion.com.conf
echo 'C = US' >> /usr/local/apache2/fusion.com.conf
echo '' >> /usr/local/apache2/fusion.com.conf
echo '[ req_ext ]' >> /usr/local/apache2/fusion.com.conf
echo "subjectAltName = IP: ${myip}" >> /usr/local/apache2/fusion.com.conf
mkdir -p /etc/pki/tls/certs
mkdir -p /etc/pki/tls/private
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -config /usr/local/apache2/fusion.com.conf -keyout /etc/pki/tls/private/ca.key -out /etc/pki/tls/certs/ca.crt
# Copy the files to the correct locations
sed -i '/LoadModule proxy_http/s/^#//g' /usr/local/apache2/conf/httpd.conf
sed -i '/LoadModule proxy_module/s/^#//g' /usr/local/apache2/conf/httpd.conf
sed -i '/LoadModule ssl_module/s/^#//g' /usr/local/apache2/conf/httpd.conf
echo 'Listen 8443' >> /usr/local/apache2/conf/httpd.conf
echo '<VirtualHost *:8443>' >> /usr/local/apache2/conf/httpd.conf
echo ' RequestHeader set iv-user "admin"' >> /usr/local/apache2/conf/httpd.conf
echo ' RequestHeader set iv-groups "admin"' >> /usr/local/apache2/conf/httpd.conf
echo ' SSLEngine on' >> /usr/local/apache2/conf/httpd.conf
echo ' SSLCertificateFile /etc/pki/tls/certs/ca.crt' >> /usr/local/apache2/conf/httpd.conf
echo ' SSLCertificateKeyFile /etc/pki/tls/private/ca.key' >> /usr/local/apache2/conf/httpd.conf
echo " ServerName ${myip}" >> /usr/local/apache2/conf/httpd.conf
echo " ProxyPass / ${fusion_host}" >> /usr/local/apache2/conf/httpd.conf
echo " ProxyPassReverse / ${fusion_host}" >> /usr/local/apache2/conf/httpd.conf
echo '</VirtualHost>' >> /usr/local/apache2/conf/httpd.conf
/usr/local/apache2/bin/apachectl -k restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment