You sync your Calendar or Contacts on your iPhone with Google’s CalDAV and/or CardDAV. But enabling multi-factor authentication for your Google Account causes the synchronization to fail. Because you know, you cannot enter the second factor somewhere.
A simple fix to keep using the secure 2-factor authentication but have your data synchronized using password authentication, you can expose certain services using a password by setting up service-specific passwords in the settings of your Google Account.
Add the following config, e.g. to /etc/httpd/conf/httpd.conf:
LogLevel info authz_core:debug
then make sure to reload apache (service httpd reload) and you will find a detailed reason, why access to a resource is granted or not in the error log.