Configuring Tomcat to work behind an Internet proxy
- Stop OpenKM.
- Edit the $TOMCAT_HOME/bin/setenv.sh file and add the following lines:
# HTTP Proxy configurationJAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=proxy-host-or-ip -Dhttp.proxyPort=proxy-port"JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyUser=user -Dhttp.proxyPassword=password"
# HTTPS Proxy configurationJAVA_OPTS="$JAVA_OPTS -Dhttps.proxyHost=proxy-host-or-ip -Dhttps.proxyPort=proxy-port"JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyUser=user -Dhttps.proxyPassword=password"At the end your setenv.sh should look something like this :
JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx4096m -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true"JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dmail.mime.ignoreunknownencoding=true"JAVA_OPTS="$JAVA_OPTS -Dhttp.proxyHost=192.168.100.128 -Dhttp.proxyPort=3128"JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyHost=192.168.100.128 -Dhttps.proxyPort=3128"- Start OpenKM.
- Go to Administration > Tools > Scripting and execute the script below (the Google HTML code should be shown).
import java.net.URL;import java.net.HttpURLConnection;import java.io.BufferedReader;
URL url = new URL("http://www.google.com");HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();urlConn.setDoInput(true);urlConn.setDoOutput(true);urlConn.setUseCaches(false);urlConn.setRequestMethod("GET");BufferedReader input = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));String line;StringBuilder sb = new StringBuilder();while ((line = input.readLine()) != null) { sb.append(line);}input.close();print(sb.toString().replaceAll("\n","<br/>"));Windows
Section titled “Windows”Step one
Section titled “Step one”Verify starting and stopping OpenKM from the command line.
- First, stop the OpenKM service.
- Edit $TOMCAT_HOME/bin/setenv.bat file and add the following lines:
# HTTP Proxy configurationset JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=proxy-host-or-ip -Dhttp.proxyPort=proxy-portset JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyUser=user -Dhttp.proxyPassword=password
# HTTPS Proxy configurationset JAVA_OPTS=%JAVA_OPTS% -Dhttps.proxyHost=proxy-host-or-ip -Dhttps.proxyPort=proxy-portset JAVA_OPTS=%JAVA_OPTS% -Dhttps.proxyUser=user -Dhttps.proxyPassword=passwordAt the end your setenv.bat should look something like this:
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx4096m -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -Djava.net.preferIPv4Stack=trueset JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Dmail.mime.ignoreunknownencoding=trueset JAVA_OPTS=%JAVA_OPTS% -Dhttp.proxyHost=192.168.100.128 -Dhttp.proxyPort=3128set JAVA_OPTS=%JAVA_OPTS% -Dhttps.proxyHost=192.168.100.128 -Dhttps.proxyPort=3128- Start OpenKM from the command line.
c:\tomcat-8.5.69\bin\> catalina.bat run- Go to Administration > Tools > Scripting and execute the script below (the Google HTML code should be shown).
import java.net.URL;import java.net.HttpURLConnection;import java.io.BufferedReader;
URL url = new URL("http://www.google.com");HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();urlConn.setDoInput(true);urlConn.setDoOutput(true);urlConn.setUseCaches(false);urlConn.setRequestMethod("GET");BufferedReader input = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));String line;StringBuilder sb = new StringBuilder();while ((line = input.readLine()) != null) { sb.append(line);}input.close();print(sb.toString().replaceAll("\n","<br/>"));Step two
Section titled “Step two”If all went well in step one, you can now configure parameters for the OpenKM service.
- Stop OpenKM.
- Go to $TOMCAT_HOME/bin and execute the following command lines:
c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttp.proxyHost=proxy-host-or-ip"c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttp.proxyPort=proxy-port"c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttp.proxyUser=user"c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttp.proxyPassword=password"c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttps.proxyHost=proxy-host-or-ip"c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttps.proxyPort=proxy-port"c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttps.proxyUser=user"c:\tomcat-8.5.69\bin\> OpenKM //US//OpenKM ++JvmOptions="-Dhttps.proxyPassword=password"- Start OpenKM from services.
- Go to Administration > Tools > Scripting and execute the script below (the Google HTML code should be shown).
import java.net.URL;import java.net.HttpURLConnection;import java.io.BufferedReader;
URL url = new URL("http://www.google.com");HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();urlConn.setDoInput(true);urlConn.setDoOutput(true);urlConn.setUseCaches(false);urlConn.setRequestMethod("GET");BufferedReader input = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));String line;StringBuilder sb = new StringBuilder();while ((line = input.readLine()) != null) { sb.append(line);}input.close();print(sb.toString().replaceAll("\n","<br/>"));