Underwater acoustic localization has traditionally been challenging due to the presence of unknown environmental structure and dynamic conditions. The problem is richer still when such structure includes occlusion, which causes the loss of line-of-sight (LOS) between the acoustic source and the receivers, on which many of the existing localization algorithms rely. We develop a semi-blind passive localization method capable of accurately estimating the source's position even in the possible absence of LOS between the source and all receivers. Based on typically-available prior knowledge of the water surface and bottom, we derive a closed-form expression for the optimal estimator under a multi-ray propagation model, which is suitable for shallow-water environments and high-frequency signals. By exploiting a computationally efficient form of this estimator, our methodology makes comparatively high-resolution localization feasible. We also derive the Cram\'er-Rao bound for this model, which can be used to guide the placement of collections of receivers so as to optimize localization accuracy. The method improves a balance of accuracy and robustness to environmental model mismatch, relative to existing localization methods that are useful in similar settings. The method is validated with simulations and water tank experiments.