DIRKRB-707 start has server with specific conf_dir failed bug. Contributed by weizhenyuan.
diff --git a/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java b/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java
index e0f3f1e..bbc8e53 100644
--- a/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java
+++ b/has-project/has-common/src/main/java/org/apache/kerby/has/common/HasConfig.java
@@ -62,6 +62,16 @@
     }
 
     public String getSslServerConf() {
+        String value = getString(HasConfigKey.SSL_SERVER_CONF, false, "HAS");
+        if (value != null) {
+            return value;
+        }
+        if (getConfDir() != null) {
+            File sslSrvConf = new File(getConfDir(), "ssl-server.conf");
+            if (sslSrvConf.exists() && sslSrvConf.isFile()) {
+                return sslSrvConf.getAbsolutePath();
+            }
+        }
         return getString(HasConfigKey.SSL_SERVER_CONF, true, "HAS");
     }
 
diff --git a/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java b/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java
index 5991e55..f92f140 100644
--- a/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java
+++ b/has-project/has-server/src/main/java/org/apache/kerby/has/server/HasServer.java
@@ -583,6 +583,7 @@
             // Parse has-server.conf to get http_host and http_port
             File confFile = new File(confDir, "has-server.conf");
             hasConfig = HasUtil.getHasConfig(confFile);
+            hasConfig.setConfDir(getConfDir().getAbsoluteFile());
             try {
                 String httpHost;
                 String httpPort;