Configuring Jamf Pro to use an HTTP Proxy Server for Communications with Automated Device Enrollment and Volume Purchasing

This article explains two ways to configure Jamf Pro to use an HTTP proxy server for communications with Automated Device Enrollment (formerly DEP) and Volume Purchasing (formerly VPP). Jamf Pro can either use HTTP proxy server settings stored in the jamfsoftware database or use settings specified in the JVM (Java Virtual Machine) properties. Follow the procedure below for your desired method.

Configuring Jamf Pro to use HTTP Proxy Server Settings Contained in the Jamfsoftware Database

  1. Access the MySQL command line and log in as "root" by executing:

    Mac and Linux: $mysql -u root -h localhost -p

    Windows: mysql.exe -h localhost --user=root -p

  2. When prompted, enter the password for the MySQL "root" user.

    If you did not create a root password, press the Return key.

  3. At the mysql prompt, switch to the jamfsoftware database by executing:

    use jamfsoftware;

  4. Insert one row into the external_communication_settings table that contains values corresponding to your HTTP proxy server host, port, username, and password, by executing:
    INSERT INTO external_communication_settings (external_communication_settings_id, proxy_type, http_proxy_host, http_proxy_port, http_proxy_auth_username, http_proxy_auth_password) VALUES (1, 1, 'host', 1234, 'username', 'password');
    Note:

    Replace host, 1234 (port), username, and password with the appropriate information.

  5. Exit mysql by executing:

    quit;

  6. Restart Tomcat.

    For instructions on restarting Tomcat, see Starting and Stopping Tomcat.

Configuring Jamf Pro to Use HTTP Proxy Server Settings Contained in the JVM Properties

If you have not configured the HTTP proxy server settings (http.proxyHost, http.proxyPort, http.proxyUser, and http.proxyPassword) in your JVM properties, you can use the method below to configure Jamf Pro to use these settings in your JVM properties.

Linux and Mac

  1. Modify catalina.sh or Tomcat Properties

    The catalina.sh file has a line like this at or near line 246. Edit the line so it looks similar to the following example (you will need to modify it for your proxy server settings.):

    JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Dhttp.proxySet=true -
    Dhttp.proxyHost=proxy.company.com -Dhttp.proxyPort=80 -
    Dhttps.proxyHost=proxy.company.com -Dhttps.proxyPort=80 -Dhttp.nonProxyHosts=localhost\|127.0.0.1\|.first.company.com\|.second.company.com\|*.third.company.com"
  2. When prompted, enter the password for the MySQL "root" user.

    If you did not create a root password, press the Return key.

  3. At the mysql prompt, switch to the jamfsoftware database by executing:

    use jamfsoftware;

  4. Insert one row into the external_communication_settings table with the specific values shown below, by executing:
    INSERT INTO external_communication_settings (external_communication_settings_id, proxy_type, http_proxy_host, http_proxy_port, http_proxy_auth_username, http_proxy_auth_password) VALUES (1, 2, '', -1, '', '');
  5. Exit mysql by executing:

    quit;

  6. Restart Tomcat.

    For instructions on restarting Tomcat, see Starting and Stopping Tomcat.

Windows

  1. Open the Tomcat8 control panel under {JSSPath}/Tomcat/bin/tomcat8w.exe.
  2. Go to the Java tab, then add lines at the end of the Java options box similar to the following example (you will need to modify it for your proxy server settings.):
    -Dhttp.proxySet=true
    -Dhttp.proxyHost=proxy.company.com
    -Dhttp.proxyPort=80
    -Dhttps.proxyHost=proxy.company.com
    -Dhttps.proxyPort=80
    -Dhttp.nonProxyHosts="localhost|127.0.0.1|.sub1.company.com|.sub2.company.com|*.sub3.company.com"
  3. Access the MySQL command line and log in as "root" by executing:

    mysql.exe -h localhost --user=root -p

  4. When prompted, enter the password for the MySQL "root" user.

    If you did not create a root password, press the Return key.

  5. At the mysql prompt, switch to the jamfsoftware database by executing:

    use jamfsoftware;

  6. Insert one row into the external_communication_settings table with the specific values shown below, by executing:
    INSERT INTO external_communication_settings (external_communication_settings_id, proxy_type, http_proxy_host, http_proxy_port, http_proxy_auth_username, http_proxy_auth_password) VALUES (1, 2, '', -1, '', '');
  7. Exit mysql by executing:

    quit;

  8. Restart Tomcat.

    For instructions on restarting Tomcat, see Starting and Stopping Tomcat.