Hosting Jamf Pro Enrollment Information on Your Own Web Server for Account-Driven Enrollment

Technical Articles

Solution
Application
Content Type
Technical Documentation
Utilities & Services
ft:locale
en-US

To host the Jamf Pro enrollment information on your own web server, you must define the path to your web server. If the verified domain you use for Managed Apple Accounts is already configured to host files, you can host the enrollment information at the same hosting location. If your environment is not configured to do so, you must set up a web server to host the information.

Note:

Jamf recommends consulting your internal web services and hosting team to help you complete this task.

Requirements
  • The web server must have the same fully qualified domain name (FQDN) as the verified domain that the Managed Apple Accounts belong to, and web services must be enabled.

  • The SSL certificate for the web server must be issued by a trusted certificate authority. For a list of trusted root certificates, see List of available trusted root certificates from Apple's support website.

  • The JSON file must be hosted on a server that supports HTTPS GET requests. Requests contain query parameters, such as a user-identifier value, which must pass through to Jamf Pro when the device is redirected for enrollment. For more information on well-known redirects and service discovery, see Implementing the simple authentication user-enrollment flow from the Apple Developer website.

The resulting URL for the file must be similar to the following:

https://mycompany.com/.well-known/com.apple.remotemanagement

Note:

In the above example, mycompany.com must be the same format and domain as the Managed Apple Account's email address.

You must configure the server to return the appropriate Content-Type header with the file, as follows:

Content-Type is 'application/json'

Note:

Your server software may refer to Content-Type as "MIME type".

For more information about how to modify the MIME type, see the following documentation:

To verify the contents of the JSON file are hosted correctly, execute the following command:
curl -I https://mycompany.com/.well-known/com.apple.remotemanagement

The command should print something similar to the following:

HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Day, 00 Month Year 00:00:00 GMT
Content-Type: application/json
Content-Length: 150
Last-Modified: Day, 00 Month Year 00:00:00 GMT
Connection: keep-alive
ETag: "xxxxxx-xxxxxx"
Accept-Ranges: bytes