Under device failures and maintenance activities, network resources reduce and congestion may arise inside networks. In this paper, we study a dual approach that combines traffic blocking (rate-limiting) at the edge of a network and traffic rerouting inside the network. We formulate a joint ingress blocking and routing optimization problem and develop mechanisms to introduce blocking differentiations among users with different service priorities and with different level of impact to network congestions. Our evaluation result shows that by blocking only a small fraction of traffic, one can greatly reduce network congestion under severe failures and maintenance activities. Our solution efficiently identifies the optimal blocking among heterogeneous users and achieves much better performance in comparison with proportional traffic blocking. The proposed algorithms can be easily adopted by network service providers in their traffic engineering practices.