Bonjour,
Je viens vers vous car je suis bloqué :)
J'ai une application sous Java en Back avec un front en Angular et une API. Hébergé sur le même serveur avec 2 versions une prod et un lab (development)
La prod marche super, j'ai tomcat9 pour l'api puis ma version compilée pour la prod et le lien de l'api https://xxx-api.xxxx.fr
Dans mon apache j'ai un virtualhost qui renvoie vers le bon lien par tomcat
Ma prod marche super !
Pour la lab j'ai un problème l'API marche niquel, les inscriptions passent en DB mais sur le formulaire de connexion, connexion impossible CORS errors
Access to XMLHttpRequest at 'https://lab.xxx-api.xxx.fr/login' from origin 'https://lab.xxx.fr' has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.
Mon API Service
export class ApiService {
constructor(protected httpClient: HttpClient) {}
//protected host = 'http://localhost:8080';
protected host = 'https://lab.xxx-api.xxx.fr';
httpOptions = {
headers: new HttpHeaders({
'Access-Control-Allow-Origin':'*',
'Cross-origin': 'cross-site'
})
};
}
J'ai déjà ajoutés les headers dans tout mes VirtualHost.
Je comprend pas sur la prod ça marche super pas sur le lab, ça pourrais venir de la config tomcat9 web.xml ? Ajouter un filter ?
Merci beaucoup
Je viens d'ajouter cela dans /etc/tomcat9/web.xml
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>