The problem: You have a WordPress Multisite install using subdomains, you have SSL active on the primary domain but don’t use a Wildcard SSL certificate. WordPress automatically prepends all links to sub sites with https:// rather than http://, this causes errors and breaks links in your dashboard and signup confirmation messages.

I have come across this issue a few time with WordPress and thought I would share a quick fix, the following functions will prevent WordPress from automatically making links to sub site a https:// link. You can place these functions in a MU-plugin.

function lm_network_admin_url( $url, $path ){
	$url = "https://yourprimarydomain.com/wp-admin/network/" . $path;
	return $url;
}
add_filter( 'lm_network_admin_url', 'mmx_network_admin_url', 1, 2 );

function lm_admin_url( $url, $path, $blog_id ) {
	$blog_id = ( $blog_id ) ? $blog_id : get_current_blog_id();
	if ( preg_match( '|^http(s)?://|', $url) ) {
		$blog_details = get_blog_details( $blog_id );
		$url = $blog_details->siteurl . '/wp-admin/' . $path;
	}
	return $url;
}
add_filter( 'admin_url', 'lm_admin_url', 1, 3 );