Как запустить @RestController на другом порту?
Я использую spring-rest
создать некоторые @RestController
сервлеты. Приложение запускается не на веб-сервере, а в виде простого инструмента командной строки со встроенным tomcat.
Большинство из них должны работать на общедоступном порту, который указан с помощью server.port=80
имущество.
Вопрос: как мне бегать по другому @RestController
на разных портах? Так что некоторые из них доступны только внутри?
@RestController
@RequestMapping("test")
public class TestServlet {
@RequestMapping(value = "/", method = RequestMethod.GET, produces = MediaType.TEXT_PLAIN_VALUE)
@ResponseStatus(HttpStatus.OK)
@ResponseBody
public String test() { return "OK"; }
}
2 ответа
Я бы порекомендовал использовать прокси. Это может быть веб-сервер Apache или Ngix. Вам необходимо настроить два виртуальных хоста (в разных портах) на веб-сервере. И перенаправьте вызов на ваш сервер Tomcat. Вы можете загружать свои контроллеры разными путями, чтобы было проще проксифицировать вызовы от веб-сервера.
Наконец ваши клиенты делают вызов через веб-сервер, а не напрямую через tomcat.
Если вы используете Spring Boot, я думаю, вам стоит проверить Spring Boot Actuator. Ваше приложение может быть настроено на один порт, в то время как привод отключается от другого.
Вот руководство, которое показывает, как изменить порт для привода - https://spring.io/guides/gs/actuator-service/