Management canister is virtual, so there is no http endpoint for aaaaa-aa. You need to use the effective_canister_id
to call management canister. See this code: ic-repl/exp.rs at master · chenyan2002/ic-repl · GitHub.
Yes, dfx creates canister by calling create_canister
from the management canister, but create_canister
can only be called via inter-canister calls, i.e. called from a wallet canister. The frontend or dfx cannot call this method directly as ingress message.
Here is an example of how to create a new canister via wallet: GitHub - chenyan2002/ic-repl