I have 2 objects and when I collide with one it takes health away from both of them instead of the one I collided with.

using UnityEngine;
using System.Collections;

public class Rocket_Bullet : MonoBehaviour
{
public float bulletForce = 300f;

public float explosivePower = 5.0f;
public float radius = 10f;

public AudioClip explosionSound;
public Transform explosionPre; 

bool rocketFired = true;

void Start () 
{

}

void FixedUpdate () 
{
	ForceOnBullet ();
}

void Update () 
{
	if (rocketFired) 
	{
		Destroy (gameObject, 10f);
	}
}

void OnCollisionEnter (Collision col) 
{
	if (col.gameObject) 
	{
		Destroy (this.gameObject, 3f);
		GetComponent<Renderer> ().enabled = false; 
		GetComponent<ParticleSystem>().enableEmission = false;
		GetComponent<CapsuleCollider> ().enabled = false;
		GetComponent<AudioSource>().PlayOneShot (explosionSound, 1f);
		Instantiate (explosionPre, gameObject.transform.position, gameObject.transform.rotation);
	}

	if (col.gameObject.tag == "Player") 
	{
		AimAnim.aimAnimInstance.Health -= 100;
	}

	if (col.gameObject.tag == "Vehicle") 
	{
		Vehicle.vInstance.vehicleHealth -= 36;
		print ("rocket hit vehicle");
	}

	Vector3 explosionPos = transform.position;

	Collider[] colliders = Physics.OverlapSphere (explosionPos, radius);
	foreach (Collider hit in colliders) 
	{
		Rigidbody rb = hit.GetComponent<Rigidbody> ();

		if (rb != null)
			rb.AddExplosionForce (explosivePower, explosionPos, radius);
	}
}

void ForceOnBullet () 
{
	GetComponent<Rigidbody>().AddForce (transform.forward * bulletForce);
}

}

Have seperate layers for hitbox and damage dealing colliders.