이 지역은 본래 고구려의 땅이었는데 뒤에 발해ㆍ여진 등이 이 땅을 차지하였다. 본래 독로강(禿魯江)이었는데, 1361년(공민왕 10) 처음으로 진(鎭)을 설치하고 만호(萬戶)를 두었으며, 뒤에 북계(北界)의 관할에 넣었다.
이 시기의 관할구역으로 진변(鎭邊)ㆍ진성(鎭成)ㆍ진안(鎭安)ㆍ진령(鎭寧) 등의 4개 진을 설치하여 상부천호(上副千戶)를 두었다. 조선 태조 때 도병마사를 두어 국경지대의 수비를 강화하였다. 1401년(태종 1) 입석(立石)과 등이언(等伊彦)의 두 지역을 합쳐 석주라고 하였다.
1403년강계부(江界府)라 고쳤고, 1412년 도호부(都護府)로 고쳤다. 세종 때 군사적인 이유로 도절제사영(都節制使營)을 두었다가 폐지하였다. 세조 때 우예(虞芮)ㆍ자성(慈城)의 두 군을 없애고 그곳 백성들을 이곳에 옮겨와 살게 하였다.
이 지역은 초산(楚山)ㆍ위원(渭原)ㆍ자성ㆍ후창(厚昌) 등의 국경지역에서 서해안 지역으로 연결되는 도로가 조선시대부터 발달되어 있어서 군사상ㆍ교통상의 요지로 중요시되던 곳이었다. 조선시대에는 압록강 지역의 봉수가 이곳의 안흥도(安興道) 허당리(許棠里) 봉수를 통하여 서해안에 연결되었고, 독로강 연안에는 비옥한 평야가 있었다.