Bonjour à tous,

J'ai commencé un projet perso avec une partie front en Angular et une API REST avec SpringBoot, le tout est hébergé sur un Tomcat sur un raspberry pi chez moi.

J'ai généré le war et l'API fonctionne bien sur le tomcat sous le dossier baby-project-api/.

J'ai utilisé le dossier webapps/ROOT de Tomcatpour y installer la partie angular.

Après quelques déboires pour obtenir un certificat SSL, l'installer et faire les redirections de port, tout semble fonctionner.

J'ai juste un soucis avec le router d'angular et la configuration de tomcat pour que cela fonctionne bien.

Si j'utilise lesl iens dans mes pages, pas de soucis. Par contre si je tente d’accéder directement à une URL ou si je recharge une page qui n'est pas l'index.html, je me retrouve avec un 404 de tomcat.

Voici les routes que j'ai créé côté angular :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
const appRoutes: Routes = [
  { path: 'welcome', component: WelcomeComponent },
  { path: '', component: WelcomeComponent },
  { path: 'cgu', component: CguComponent},
  { path: 'gender', component: FormGenderComponent},
  { path: 'gender/:choice', component: FormGenderComponent},
  { path: 'not-found', component: FourOhFourComponent },
  { path: '**', redirectTo: 'not-found' }
];
J'ai également créé un dossier ${tomcat_dir}/conf/Catalina/localhost avec le fichier rewrite.config :
Code Apache : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
RewriteRule ^ - [L]
 
RewriteCond %{REQUEST_URI} !^/rest/.*$
RewriteRule ^/*$ /index.html [L]
 
RewriteRule ^/rest/(.+)$ /baby-project-api/rest/$1

Je ne sais pas trop comment corriger cela, enfin sans remettre toutes mes routes dans la config du rewrite :/

Des idées ?