dropwizard管理员没有'Access-Control-Allow-Origin'

时间:2013-12-19 09:21:01

标签: admin cors dropwizard

当我想从一个有角度的应用程序访问它时,我的DropWizard服务器出了问题。 错误是:

XMLHttpRequest cannot load https://localhost:8080/admin/metrics. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access.

我已经看过这里了 Dropwizard resolving CORS issues

它实际上适用于以下地址: https://localhost:8080/myResource/list

但不是预先配置的/ admin资源 https://localhost:8080/admin/metrics.

似乎表明添加到环境中的过滤器仅用于/ api而不用于/ admin ...

我需要帮助吗?

1 个答案:

答案 0 :(得分:0)

答案实际上就是你已经看过的那个主题:

  

支持[1]运行与主要资源相同的端口的管理路由。将您的port和adminPort设置设置为相同的值,然后访问/ admin下的管理路由(例如,如果您正在点击 example.com:8081/metrics ,请转到 example.com:改为8080 / admin / metrics 。就像Ryan说的那样,你需要保护/ admin下的所有东西,所以Dropwizard内置了设置(adminUsername和adminPassword [2]),让你通过HTTP基本身份验证来实现这一点。

     

1:https://github.com/codahale/dropwizard/blob/master/dropwizard-core/src/main/java/com/yammer/dropwizard/config/ServerFactory.java#L317

     

2:http://dropwizard.codahale.com/manual/core/#configuration-defaults

     

迈克尔