add default root location instead of welcome page.

This commit is contained in:
vfqq樊琪琦 2017-02-07 16:18:15 +08:00
parent fb15208776
commit 73a3f5c06e
2 changed files with 29 additions and 4 deletions

View file

@ -334,4 +334,11 @@ public class LocationConf {
confWriter.writeLine("return 404 \"Not Found!\";");
confWriter.writeLocationEnd();
}
public void writeDefaultRootLocation(ConfWriter confWriter) {
confWriter.writeLocationStart("/");
confWriter.writeCommand("error_page", "404 /404page");
confWriter.writeCommand("return", "404");
confWriter.writeLocationEnd();
}
}

View file

@ -1,10 +1,7 @@
package com.ctrip.zeus.service.build.conf;
import com.ctrip.zeus.exceptions.ValidationException;
import com.ctrip.zeus.model.entity.Domain;
import com.ctrip.zeus.model.entity.Group;
import com.ctrip.zeus.model.entity.Slb;
import com.ctrip.zeus.model.entity.VirtualServer;
import com.ctrip.zeus.model.entity.*;
import com.ctrip.zeus.service.build.ConfigHandler;
import com.ctrip.zeus.util.AssertUtils;
import org.springframework.stereotype.Component;
@ -91,6 +88,8 @@ public class ServerConf {
}
}
addDefaultRootLoaction(slbId, vsId, groups, confWriter);
confWriter.writeServerEnd();
return confWriter.getValue();
}
@ -205,4 +204,23 @@ public class ServerConf {
}
return result;
}
private void addDefaultRootLoaction(Long slbId, Long vsId, List<Group> groups, ConfWriter confWriter) throws Exception {
// 0. enable flag
if (!configHandler.getEnable("default.root.location", slbId, vsId, null, false)) {
return;
}
// 1. return while already have root location .
for (Group group : groups) {
for (GroupVirtualServer gvs : group.getGroupVirtualServers()) {
if (gvs.getVirtualServer().getId().equals(vsId)) {
if (gvs.getPath().trim().equals("/") || gvs.getPath().trim().equals("~* ^/")) {
return;
}
}
}
}
// 2. add default location instead while not found root location.
locationConf.writeDefaultRootLocation(confWriter);
}
}