They will pay around €15 million to secure the services of the Switzerland international.
Okafor has bagged 34 goals and 23 assists in 110 games for Salzburg since joining them from Swiss club FC Basel in 2019.
Milan are familiar with Okafor after facing him in the Champions League group stage last season, where he impressed.
Okafor will fill the void left by Zlatan Ibrahimovic, who retired at the end of last season.
They may need to sign more than one striker this summer, with Divock Origi expected to leave the club.
Milan have been linked with Romelu Lukaku, Alvaro Morata, Mehdi Taremi and Folarin Balogun. They could return to that list to find another striker.
The Serie A outfit are also reportedly closing in on Villareal attacker Samuel Chukwueze. The Nigerian international is their top target for the right-wing position.
They have been trying to get Villarreal to lower their asking price, and it appears a deal is close to completion.
Valencia’s Yunus Musah is also on their radar. They want the United States international, but Valencia owner Peter Lim is not letting his prized asset go for cheap.
Milan have been proactive in the transfer market, signing Marco Sportiello, Christian Pulisic, Luka Romero, Ruben Loftus-Cheek and Tijjani Reijnders.
Okafor looks like signing number six as the Rossoneri look to challenge for the Serie A title after a disappointing defence last season.