<div dir="ltr"><div>Hi,</div><div><br></div><div>Our Nginx server is configured with two different domain SSL certificates configured on same ip ; </div><div><br></div><div>*.<a href="http://mydomain.com">mydomain.com</a></div><div>*.<a href="http://yourdomain.com">yourdomain.com</a> (Renewed)</div><div><br></div><div>We've configured both these certificates vhosts in /usr/local/etc/nginx/vhosts/ directory. After installing certificate we tested it with sslshopper and both were installed properly (CN, Intermediate Chain etc were properly listed for each). </div><div><br></div><div>Now here comes the confusing part. Recently we've renewed the SSL certificate for *.<a href="http://yourdomain.com">yourdomain.com</a> from Godaddy and after installing it sslshopper shows correct CN and intermediate chain for new certificate (*.<a href="http://yourdomain.com">yourdomain.com</a>) but openssl shows its CN as *.<a href="http://mydomain.com">mydomain.com</a> instead of *.<a href="http://yourdomain.com">yourdomain.com</a>.</div><div><br></div><div>I repeat SSLshopper and SSLLabs shows proper CN (common name) but if i use openssl command to verify it :</div><div><br></div><div>[root@cw012 /usr/ports/security/ca_root_nss]#  openssl s_client -connect <a href="http://s4.yourdomain.com:443">s4.yourdomain.com:443</a> |head -30depth=2 C = US, O = GeoTrust Inc., OU = (c) 2008 GeoTrust Inc. - For authorized use only, CN = GeoTrust Primary Certification Authority - G3verify return:1s_clidepth=1 C = US, O = GeoTrust Inc., CN = RapidSSL SHA256 CA - G2verify return:1head depth=0 CN = *.<a href="http://mydomain.com">mydomain.com</a></div><div><br></div><div>Here you can see that CN is *.<a href="http://mydomain.com">mydomain.com</a> instead of *.<a href="http://yourdomain.com">yourdomain.com</a>. </div><div><br></div><div>We were also seeing so much delayed in serving the requests but once we disabled one of the vhost, CN started to show correct domains and performance was improved drastically.</div><div><br></div><div>To test it further with nginx we had reversed the order of virtual hosts and moved domain virtualhost of <a href="http://yourdomain.com">yourdomain.com</a> above the <a href="http://mydomain.com">mydomain.com</a> and now CN for both (<a href="http://mydomain.com">mydomain.com</a> and <a href="http://yourdomain.com">yourdomain.com</a>) is showing the *.<a href="http://yourdomain.com">yourdomain.com</a>. So we concluded that its due to order of the virtual hosts, the vhost which comes before will overlap the CN for all other domains comming beneath it.</div><div><br></div><div>Is there anyway to get this fixed ? </div><div><br></div><div>Here is the configuration of vhosts :</div><div><br></div><div>server {</div><div>       listen  443  ;</div><div>        ssl on;</div><div>        server_name <a href="http://s4.mydomain.com">s4.mydomain.com</a>;</div><div>        ssl_certificate /etc/ssl/certs/mydomain/mydomain-combined.crt;    </div><div>        ssl_certificate_key /etc/ssl/certs/mydomain/mydomain.key;    </div><div>        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;</div><div>        ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4';       ssl_prefer_server_ciphers on;</div><div>        location / {</div><div>            root   /yourdomain;</div><div>            index index.html index.htm index.php;</div><div><br></div><div>}}</div><div><br></div><div>server {</div><div>          listen 443  ;</div><div>          ssl on;</div><div>          server_name <a href="http://s4.yourdomain.com">s4.yourdomain.com</a>;</div><div>          ssl_certificate /etc/ssl/certs/yourdomain/yourdomain-combined.crt;</div><div>          ssl_certificate_key /etc/ssl/certs/yourdomain/yourdomain.key;</div><div>          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;</div><div>          ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4';       ssl_prefer_server_ciphers on;</div><div>        location / {</div><div>            root   /yourdomain;</div><div>            index index.html index.htm index.php;</div><div>}}</div><div><br></div><div>Any advice will be very much appreciated.</div><div><br></div><div>Thanks.<br>Shahzaib</div></div>