при настройке местоположения конфигурации Grails, как показано ниже
grails.config.locations = [
"https://ip:8443/config/Config.groovy"
]
, в журнале появится следующее предупреждающее сообщение
2018-11-28 19:04:22,682 WARN ConfigurationHelper - Unable to load specified config location https://ip:8443/config/Config.groovy : File does not exist.
, но я могу получить доступ к https://ip:8443/config/Config.groovy непосредственно избраузер.
В org.codehaus.groovy.grails.commons.cfg.ConfigurationHelper.mergeInLocations ()
private static void mergeInLocations(ConfigObject config, List locations, PathMatchingResourcePatternResolver resolver, ClassLoader classLoader) {
...
def resource = resolver.getResource(location.toString())
if(resource.exists()) {
...
} else {
LOG.warn "Unable to load specified config location $location : File does not exist."
}
}
распознавательэто org.springframework.core.io.support.PathMatchingResourcePatternResolver весной.и результат resolver.getResource (location.toString ()) будет org.springframework.core.io.UrlResource
, а код UrlResource.exists () похож на
public boolean exists() {
...
try {
URLConnection con = url.openConnection();
HttpURLConnection httpCon =
(con instanceof HttpURLConnection ? (HttpURLConnection) con : null);
if (httpCon != null) {
int code = httpCon.getResponseCode();
if (code == HttpURLConnection.HTTP_OK) {
return true;
}
else if (code == HttpURLConnection.HTTP_NOT_FOUND) {
return false;
}
}
}catch(IOException ex){
return false;
}
}
и с момента его https он выдаст java.security.cert.CertificateException: альтернативные имена субъектов отсутствуют при httpCon.getResponseCode ().
, поэтому UrlResource не предназначен для httpsресурс?что делать, если я хочу загрузить ресурс https?спасибо.