I agree the exception for multiple attempts to override the same setting could make sense as a next step, if ever needed.  I was thinking there might be some cases where even that wouldn't be enough, though.  For example, we may have two different callers seeking to override the host/port settings.  Caller 1 might look at the webserver default for host and think that looks fine but would notice that the port is different than what it needs and so would just try to override the port.  Caller 2 might do the reverse, seeing that the port looked like what it needs but not the host and so would just try to override the host.  No exception would be thrown in this case but you could end up with an unintended port from caller 1 and host from caller 2 being used together.  Maybe you mitigate that as a caller by setting all of the values that you know have an important relationship with one another even if the value that you are using for some of the settings is identical to that which was in the original webserver config.  That way, any conflict created from another service trying to override the setting would cause things to blow up rather than continuing on in an unknown state.