J'utilise Spring boot et redirige http vers https en utilisant par élastique beanstalk dans AWS.
je demande donc http puis rediriger https, et re-demande par protocole https ...
https, tout est ok, mais
http, méthode get (dans le contrôleur) est ok, mais la méthode de post n'est pas ok ...
{ "timestamp": 1508137623531, "status": 405, "error": "Method Not Allowed", "exception": "org.springframework.web.HttpRequestMethodNotSupportedException", "message": "Request method 'GET' not supported", "path": "/api/test" }
(spring-boot) http à https redirection, 405 méthode ne pas autoriser le message
Mon code contrôleur
@PostMapping(value = "/test") public String test(@RequestBody String name) { return "hello, " + name; }
J'ai essayé this answer, mais il ne contribue pas à moi ...
Comment puis-je corriger il...?
J'ai rencontré le même problème avec l'appel POST. Avez-vous pu le résoudre en mettant à jour nginx? Vous ne savez pas si c'est évolutif, puisque nginx 1.13.x est sur la ligne principale et Amazon semble seulement supporter le canal stable avec 1.12.x avec Beanstalk. L'utilisation de 'EmbeddedServletContainerFactory' n'a pas aidé non plus. – testphreak
@testphreak Je n'ai pas mis à jour car il ne semble pas fonctionner correctement, donc j'utilise 307 Redirection temporaire – perfectacle
si j'utilise 307, les appels POST http et https sont autorisés. Mon attente est que si vous effectuez un appel POST API en utilisant HTTP, il redirigera vers HTTPS. Est-ce une mauvaise attente? Dans le /etc/nginx/conf.d/elasticbeanstalk/00_application.conf, j'ai ajouté ' ...... if ($ http_x_forwarded_proto = "https"!) { mis rediriger $ 1; Si ($ redirect = 1) { return 307 https: // $ host } ...... ' Après cela, j'ai redémarré NGINX sur l'instance. Je n'ai pas travaillé pour moi. – testphreak