Я использую mvn и appengine-maven-plugin для подготовки и развертывания стандартного проекта механизма приложений для java 8. Это работает локально, но развернутый проект перестал работать, и если я смотрю на target / appengine-staging / app. yaml, там есть несколько загадочных нерабочих маршрутов, и стандартный / .* маршрут пропал.
Где я могу найти некоторую информацию о том, что генерирует app.yaml и на что он ссылается для создания этих обработчиков? Они похожи на некоторые реальные маршруты, но не совсем совпадают.
mvn appengine:stage -DskipTests -Dspring.profiles.active=development
# ./target/appengine-staging/app.yaml contains bad handlers
Мой apppengine-web.xml
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<threadsafe>true</threadsafe>
<sessions-enabled>true</sessions-enabled>
<runtime>java8</runtime>
<instance-class>B1</instance-class>
<basic-scaling>
<max-instances>1</max-instances>
<idle-timeout>10m</idle-timeout>
</basic-scaling>
<env-variables>
<env-var name="SPRING_PROFILES_ACTIVE" value="development" />
</env-variables>
</appengine-web-app>
Мой web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
<security-constraint>
<web-resource-collection>
<web-resource-name>tasks</web-resource-name>
<url-pattern>/**/delete_handler</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
</web-app>
WebSecurityConfigurerAdapter
@Configuration
@EnableWebSecurity
public class ApplicationSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers("/**/health")
.antMatchers("/**/delete_handler")
;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.authorizeRequests()
.antMatchers("/**/health").permitAll()
.antMatchers("/**/delete_handler").permitAll()
.antMatchers("/_ah/*").permitAll()
.anyRequest().authenticated()
.and().httpBasic();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
// snip
}
}
Сгенерированный нерабочий app.yaml
runtime: java8
instance_class: B1
basic_scaling:
max_instances: 1
idle_timeout: 10m
inbound_services:
- warmup
derived_file_type:
- java_precompiled
threadsafe: True
auto_id_policy: default
env_variables:
'SPRING_PROFILES_ACTIVE': 'development'
api_version: '1.0'
handlers:
- url: /
script: unused
login: optional
secure: optional
- url: /_ah/.*.*.*/delete_handler
script: unused
login: admin
secure: optional
- url: /.*/
script: unused
login: optional
secure: optional
- url: /_ah/.*
script: unused
login: optional
secure: optional
skip_files: app.yaml