Почему я получаю 403 Запрещенная ошибка для конечной точки привода / обновления в Spring Boot 2 в Cloud Foundry {с использованием службы Cloud Config Server} - PullRequest
0 голосов
/ 12 сентября 2018

В моем проекте у меня есть следующий bootstrap.properties файл:

spring.application.name=vault-demo
management.endpoints.web.exposure.include=*

Кроме того, я определил следующую зависимость:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-actuator</artifactId>
</dependency>

Сервер конфигурации можетполучить доступ к свойству, но когда я обновляю это свойство в GitHub и POST до /refresh, я получаю 403: Forbidden.Нужно ли вносить какие-либо изменения в мое приложение или bootstrap.properties?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Я заметил, что конфигурацию облака Spring Boot 2 не нужно «подключать / обновлять конечную точку» после коммита (или других событий), потому что новая версия всегда запрашивает удаленный git Server и сравнивает последний commitId, а если иное commitId начать получать изменения.

Если при отладке и просмотре трассировок журнала, после запроса http://host:8888/{service}/{profile}/{label_branch} всегда спрашивайте github, и вы заметите, что при существующем изменении «процесс извлечения запущен», посмотрите на трассировки, такие как согласование github:

o.e.jgit.transport.PacketLineOut - git> want 4a766a1677 .... o.e.jgit.transport.PacketLineOut - git> have 93cd4a98b5b3bb7d895 ... и наконец o.e.jgit.transport.PacketLineOut - git> выполнено

И после загрузки: o.e.jgit.transport.PacketLineIn - git

Если вы просматриваете следы, а несуществующие изменения (последний commitId одинаков, трассы согласования и загрузки не отображаются).

Я думаю, что это не является хорошим поведением производительности, поэтому существовало бы свойство, которое отключало бы его и, следовательно, требовало бы "поведения принудительного обновления", но я не смог найти его в Spring boot 2. С другой стороны, мне это нравится, потому что вам не нужно разрешать HTTP-доступ к вашему серверу конфигурации, чтобы получать уведомления, поэтому настройка безопасности не ставится под угрозу.

Я пробовал с Гринвичем. РЕЛИЗ

Надеюсь, что это поможет и прояснить это поведение.

0 голосов
/ 12 сентября 2018

Я получил решение, мне нужно было добавить конфигурацию безопасности, например:

@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter{

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
    }
}

Кроме того, мне пришлось добавить следующую зависимость:

<dependency> 
    <groupId>org.springframework.security</groupId> 
    <artifactId>spring-security-rsa</artifactId> 
    <version>1.0.5.RELEASE</version> 
</dependency>

Я нашел эторешение в рамках следующей проблемы GitHub: https://github.com/spring-cloud/spring-cloud-config/issues/950

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...