【发布时间】:2018-04-25 14:25:10
【问题描述】:
我已按照this 示例在我的 API 子域上启用 CORS,以便我可以从 SwaggerUI 向它发送请求。这是我在该子域上运行 OPTIONS 得到的输出:
curl -i -X OPTIONS http://api.MYDOMAIN.com/v1/data/extraction
HTTP/1.1 204 No Content
Server: nginx/1.10.3 (Ubuntu)
Date: Wed, 18 Apr 2018 20:45:52 GMT
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,X-API-Key
Access-Control-Max-Age: 1728000
Content-Type: text/plain charset=UTF-8
Content-Length: 0
我一直想知道为什么在我的文档子域(相同的 DOMAIN.com 服务器)上的 Chrome 中, 仍然给了我这个。谁能建议我应该去哪里?
【问题讨论】:
-
我认为这不是 add_header 而是 more_set_headers 命令。现在的问题是 SwaggerUI 没有发送 X-API-KEY 标头...
-
最后一块拼图是 darrenleeweber 在github.com/swagger-api/swagger-ui/issues/1244 讨论中的建议,它需要在“安全”部分中指定。谢谢大家,问题结束了!
-
考虑将您的发现作为答案发布,而不是在 cmets 部分。
-
确实可以,已经凌晨2点了,先睡一觉吧:)
标签: nginx cors swagger-ui