Spring 云配置服务器 - Git - 未授权
Spring Cloud Config Server - Git - Not authorized
我有一个使用 Spring Cloud Config 的 Spring-Boot 应用程序,我正在尝试从 Bitbucket 获取该应用程序的配置文件。前段时间我能够获取配置文件,但现在当我尝试通过 config-server url.
访问时出现错误
application.yml:
server:
port: 8888
spring:
application:
name: config-server
cloud:
config:
server:
git:
password: ##########
username: ##########
uri: https://USERNAME@bitbucket.org/repositorios-closeup/cup-configuration-files
searchPaths: '{application}'
当我尝试访问 url 应用程序时显示错误 - 未授权:
org.eclipse.jgit.api.errors.TransportException: https://USERNAME@bitbucket.org/repositorios-closeup/cup-configuration-files: not authorized
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:254) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar:5.1.3.201810200350-r]
at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:306) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar:5.1.3.201810200350-r]
有人知道发生了什么事吗?我已经在 bitbucket 上检查了所有凭据和 url。
我需要更改身份验证以使用 ssh 而不是 https。
我使用这个命令生成了 ssh:
sh-keygen -m PEM -t rsa -b 4096 -C 'bitbucket_username'
使用本教程将 public 密钥导入到 bitbucket:
https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/
并更改了我的 application.yml 以使用 ssh-private-key:
cloud:
config:
server:
git:
uri: git@bitbucket.org:repositorios/configuration-files.git
searchPaths: '{application}'
ignore-local-ssh-settings: true
private-key: |
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
default-label: master
我添加了以下命令行。它对我有用。
spring.cloud.config.server.git.ignore-local-ssh-settings=true
此设置忽略本地 ssh 配置。
我必须在 Github 用户设置上生成个人访问令牌。并使用它,而不是真正的密码。
我知道您提到了 Bitbucket,但我对 Github 也有同样的问题。这就是我解决“未授权”消息的方法。
我有一个使用 Spring Cloud Config 的 Spring-Boot 应用程序,我正在尝试从 Bitbucket 获取该应用程序的配置文件。前段时间我能够获取配置文件,但现在当我尝试通过 config-server url.
访问时出现错误application.yml:
server:
port: 8888
spring:
application:
name: config-server
cloud:
config:
server:
git:
password: ##########
username: ##########
uri: https://USERNAME@bitbucket.org/repositorios-closeup/cup-configuration-files
searchPaths: '{application}'
当我尝试访问 url 应用程序时显示错误 - 未授权:
org.eclipse.jgit.api.errors.TransportException: https://USERNAME@bitbucket.org/repositorios-closeup/cup-configuration-files: not authorized
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:254) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar:5.1.3.201810200350-r]
at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:306) ~[org.eclipse.jgit-5.1.3.201810200350-r.jar:5.1.3.201810200350-r]
有人知道发生了什么事吗?我已经在 bitbucket 上检查了所有凭据和 url。
我需要更改身份验证以使用 ssh 而不是 https。
我使用这个命令生成了 ssh:
sh-keygen -m PEM -t rsa -b 4096 -C 'bitbucket_username'
使用本教程将 public 密钥导入到 bitbucket: https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/
并更改了我的 application.yml 以使用 ssh-private-key:
cloud:
config:
server:
git:
uri: git@bitbucket.org:repositorios/configuration-files.git
searchPaths: '{application}'
ignore-local-ssh-settings: true
private-key: |
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
default-label: master
我添加了以下命令行。它对我有用。
spring.cloud.config.server.git.ignore-local-ssh-settings=true
此设置忽略本地 ssh 配置。
我必须在 Github 用户设置上生成个人访问令牌。并使用它,而不是真正的密码。
我知道您提到了 Bitbucket,但我对 Github 也有同样的问题。这就是我解决“未授权”消息的方法。