but I can see content of example1.com too when I connected to https://example2.com although example2.com has not ssl configuration at server's conf file.
Isso acontece precisamente porque example2.com não tem uma configuração SSL. Por padrão, se não houver um VirtualHost com o nome exato do servidor, o Apache usará o primeiro VirtualHost para a mesma porta.
(É por isso que o Debian, por exemplo, usa o "000-default.conf" para o vhost padrão, de modo que sempre vá antes de qualquer outra coisa.)