Город расположен на западном берегу Каспийского моря, к северу от устья реки Рубас, там где горы Большого Кавказа ближе всего подходят к Каспийскому морю, оставляя лишь узкую трехкилометровую полосу равнины; замыкая её, город образовывал так называемый Дербентский или Каспийский проход.