Robust nonlinear optimization is not as well developed as the linear case, and limited in the constraints and uncertainty sets it can handle. In this work we extend the scope of robust optimization by showing how to solve a large class of robust nonlinear optimization problems. The fascinating and appealing property of our approach is that any convex uncertainty set can be used. To this end, we give an explicit formulation of the dual of a robust nonlinear optimization problem, which contains the convex conjugate functions of the objective and constraint functions of the (deterministic) primal, and the perspectives of the convex functions that define the uncertainty set. Given an optimal solution of this dual problem, we show how to recover the primal optimal solution. We obtain computationally tractable robust counterparts for many new robust nonlinear optimization problems, including problems with robust quadratic constraints, second order cone constraints, and SOS-convex polynomials.