Skip to content

Commit

Permalink
GRP-2959: add option to not redirect from / to /grouper in apache
Browse files Browse the repository at this point in the history
container file
  • Loading branch information
mchyzer committed Jan 31, 2021
1 parent 8f076be commit c6160d3
Show file tree
Hide file tree
Showing 9 changed files with 44 additions and 9 deletions.
4 changes: 2 additions & 2 deletions container_files/httpd/grouper-www.conf
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ __GROUPER_PROXY_PASS__ProxyPass /__GROUPER_URL_CONTEXT__ ajp://localhost:8009/__
__GROUPERWS_PROXY_PASS__ProxyPass /__GROUPERWS_URL_CONTEXT__ ajp://localhost:8009/__GROUPER_TOMCAT_CONTEXT__ timeout=__GROUPER_APACHE_AJP_TIMEOUT_SECONDS__
__GROUPERSCIM_PROXY_PASS__ProxyPass /__GROUPERSCIM_URL_CONTEXT__ ajp://localhost:8009/__GROUPER_TOMCAT_CONTEXT__ timeout=__GROUPER_APACHE_AJP_TIMEOUT_SECONDS__

__GROUPER_PROXY_PASS__RewriteEngine on
__GROUPER_PROXY_PASS__RewriteRule "^/$" "/__GROUPER_URL_CONTEXT__/" [R]
__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__RewriteEngine on
__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__RewriteRule "^/$" "/__GROUPER_URL_CONTEXT__/" [R]

4 changes: 2 additions & 2 deletions container_files/httpd/ssl-enabled.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ SSLStaplingCache shmcb:/var/run/ocsp(128000)
Listen __GROUPER_APACHE_SSL_PORT__ https
<VirtualHost *:__GROUPER_APACHE_SSL_PORT__>

__GROUPER_PROXY_PASS__ RewriteEngine on
__GROUPER_PROXY_PASS__ RewriteRule "^/$" "/grouper/" [R]
__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__RewriteEngine on
__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__RewriteRule "^/$" "/grouper/" [R]

SSLEngine on
SSLCertificateChainFile __GROUPER_SSL_CHAIN_FILE__
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ if [ "$#" -ne 4 ]; then
exit 1
fi

expectedSuccesses=686
expectedSuccesses=692

export containerName=$1
export imageName=$2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ testContainerUi() {
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "SSLCertificateFile /etc/pki/tls/certs/host-cert.pem"
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "SSLCertificateKeyFile /etc/pki/tls/private/host-key.pem"
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "Listen 443 https"
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "RewriteRule"
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf "#RewriteRule"
assertFileContains /etc/httpd/conf.d/grouper-www.conf "RewriteRule"
assertFileNotContains /etc/httpd/conf.d/grouper-www.conf "#RewriteRule"
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf "__"
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf cachain.pem
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf /etc/pki/tls/certs/localhost.crt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ testContainerUi2() {
echo
echo '################'
echo Running container as ui
echo "docker run --detach --name $containerName --publish 443:443 -e GROUPER_SSL_USE_STAPLING=false -e GROUPER_SSL_CERT_FILE=/a/b/cert -e GROUPER_SSL_KEY_FILE=/a/b/key -e GROUPER_SSL_CHAIN_FILE=/a/b/chain $imageName ui"
echo "docker run --detach --name $containerName --publish 443:443 -e GROUPER_SSL_USE_STAPLING=false -e GROUPER_SSL_CERT_FILE=/a/b/cert -e GROUPER_SSL_KEY_FILE=/a/b/key -e GROUPER_SSL_CHAIN_FILE=/a/b/chain -e GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false $imageName ui"
echo '################'
echo

docker run --detach --name $containerName --publish 443:443 -e GROUPER_SSL_USE_STAPLING=false -e GROUPER_SSL_CERT_FILE=/a/b/cert -e GROUPER_SSL_KEY_FILE=/a/b/key -e GROUPER_SSL_CHAIN_FILE=/a/b/chain $imageName ui
docker run --detach --name $containerName --publish 443:443 -e GROUPER_SSL_USE_STAPLING=false -e GROUPER_SSL_CERT_FILE=/a/b/cert -e GROUPER_SSL_KEY_FILE=/a/b/key -e GROUPER_SSL_CHAIN_FILE=/a/b/chain -e GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false $imageName ui
sleep $globalSleepSecondsAfterRun


Expand All @@ -43,6 +43,8 @@ testContainerUi2() {
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "SSLCertificateKeyFile /a/b/key"
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "SSLCertificateChainFile /a/b/chain"
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "Listen 443 https"
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf "#RewriteRule"
assertFileContains /etc/httpd/conf.d/grouper-www.conf "#RewriteRule"
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf "__"
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf cachain.pem
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf /etc/pki/tls/certs/localhost.crt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ testContainerUiSubimage() {
assertFileContains /opt/tier-support/supervisord.conf "user=shibd"
assertFileNotContains /opt/tier-support/supervisord.conf "program:hsqldb"
assertFileNotContains /opt/tier-support/supervisord.conf "__"
assertFileContains /etc/httpd/conf.d/ssl-enabled.conf cachain.pem
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf cachain.pem
assertFileNotContains /etc/httpd/conf.d/ssl-enabled.conf /etc/pki/tls/certs/localhost.crt

assertFileContains /opt/grouper/grouperWebapp/WEB-INF/classes/log4j.properties "/tmp/logpipe"
Expand Down
2 changes: 1 addition & 1 deletion container_files/tier-support/test/rebuildTestContainer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ mkdir -p $reldir/slashRoot/usr/local/bin
rsync -avzpl $grouperContainerGitPath/container_files/usr-local-bin/* $reldir/slashRoot/usr/local/bin

mkdir -p $reldir/slashRoot/etc/httpd/conf.d
rsync -avzpl $grouperContainerGitPath/container_files/httpd/ssl-enabled.conf $reldir/slashRoot/etc/httpd/conf.d
rsync -avzpl $grouperContainerGitPath/container_files/httpd/* $reldir/slashRoot/etc/httpd/conf.d

mkdir -p $reldir/slashRoot/opt/tier-support/originalFiles
rsync -avzpl $reldir/etc/httpd/conf.d/ssl-enabled.conf $reldir/slashRoot/opt/tier-support/originalFiles
Expand Down
12 changes: 12 additions & 0 deletions container_files/usr-local-bin/libraryPrep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -487,6 +487,18 @@ prep_finishEnd() {
echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPERUI_LOGOUT_REDIRECTTOURL=/Shibboleth.sso/Logout"
export GROUPERUI_LOGOUT_REDIRECTTOURL=/Shibboleth.sso/Logout
fi
if [ -z "$GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER" ]; then
if [ "$GROUPER_PROXY_PASS" = "#" ]; then

echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false"
export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=false
else
echo "grouperContainer; INFO: (libraryPrep.sh-prep_finishEnd) export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=true"
export GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER=true

fi

fi

}

Expand Down
17 changes: 17 additions & 0 deletions container_files/usr-local-bin/librarySetupFilesTomcat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -124,9 +124,26 @@ setupFilesTomcat_context() {
results="$results $?"
sed -i "s|__GROUPER_PROXY_PASS__|$GROUPER_PROXY_PASS|g" /etc/httpd/conf.d/grouper-www.conf
results="$results $?"

if [ "$GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER" = "true" ]; then
sed -i "s|__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__||g" /etc/httpd/conf.d/grouper-www.conf
results="$results $?"
else
sed -i "s|__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__|#|g" /etc/httpd/conf.d/grouper-www.conf
results="$results $?"
fi

if [ -f /etc/httpd/conf.d/ssl-enabled.conf ]; then
sed -i "s|__GROUPER_PROXY_PASS__|$GROUPER_PROXY_PASS|g" /etc/httpd/conf.d/ssl-enabled.conf
results="$results $?"

if [ "$GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER" = "true" ]; then
sed -i "s|__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__||g" /etc/httpd/conf.d/ssl-enabled.conf
results="$results $?"
else
sed -i "s|__GROUPER_REDIRECT_FROM_SLASH_TO_GROUPER__|#|g" /etc/httpd/conf.d/ssl-enabled.conf
results="$results $?"
fi
fi
sed -i "s|__GROUPERSCIM_PROXY_PASS__|$GROUPERSCIM_PROXY_PASS|g" /etc/httpd/conf.d/grouper-www.conf
results="$results $?"
Expand Down

0 comments on commit c6160d3

Please sign in to comment.