我使用Docker将带有nginx容器的Rails应用程序部署为前端HTTP服务器。
我在Rails中配置了“机架式”以发送一些URL的CORS标头。
我的应用程序可以使用HTTPS在2个不同的域中使用,它们在nginx中配置为2个不同的server
配置。第一个配置为default_server
。
nginx和Rails之间的内部通信使用HTTP。 HTTPS仅在nginx中配置。
要清楚,CORS标头的意思是:
Access-Control-Allow-Origin
Access-Control-Allow-Methods
Access-Control-Expose-Headers
Access-Control-Max-Age
我正在使用rack-cors 1.0.2和nginx 1.16.0。
我创建了a Gist with my nginx configuration。
通过HTTPS使用第二个域时,nginx会删除我由rack-cors设置的CORS标头。
我知道它们已被删除,因为我监视了多件事:
但是nginx对最终用户的响应不包含CORS标头。
一直以来,发送给第一个域的响应都可以,并且包含CORS标头。
谢谢