Generalized Nash equilibria (GNE) represent extensions of the Nash solution concept when agents have shared strategy sets. This generalization is particularly relevant when agents compete in a networked setting. In this paper, we consider such a setting and focus on a congestion game in which agents contend with shared network constraints. We make two sets of contributions: (1) Under two types of congestion cost functions, we prove the existence of the primal generalized Nash equilibrium. The results are provided without a compactness assumption on the constraint set and are shown to hold when the mappings associated with the resulting variational inequality are non-monotone. Under further assumptions, the local and global uniqueness of the primal and primal-dual generalized Nash equilibrium is also provided. (2) We provide two distributed schemes for obtaining such equilibria: a dual and a primal-dual algorithm. Convergence of both algorithms is analyzed and preliminary numerical evidence is presented with the aid of an example.