We had a client that needed to have several SharePoint subsites published externally. After exposing the sites externally – everything worked fine except for checking documents in/out.
The client would get an error that said:
Object reference not set to an instance of an object
Wow…very descriptive. Thanks Microsoft.
After a little digging – we found that it was tied to Alternate Access Mappings.
Go to SharePoint Central Admin->Operations->Alternate Access Mappings.
Click Edit Public URLs.
Add the FQDN to the internet AAM and choose Ok.
Restart IIS.