带有HTTPS连接的Wakanda Server CORS

时间:2017-08-01 19:51:10

标签: wakanda

我有一个像这样设置的请求处理程序:

httpServer.addRequestHandler("^/send-contact-message", "./rest-extensions/contact-messages.js", "sendContactMessage");

我的CORS设置如下:

<cors enabled="true">
    <domain name="imagesreimagined.com" methods="post"/>
</cors>

我的服务器设置为安全连接(HTTPS)设置为Accept only HTTPS from remote & allow HTTP and HTTPS from localhost。如果我从action="https://imagesreimagined.store/send-contact-message"的表单发送请求,我会在浏览器中收到错误消息:

XMLHttpRequest无法加载https://imagesreimagined.store/send-contact-message。 Access-Control-Allow-Origin不允许原点http://imagesreimagined.com

如果我将服务器的安全连接(HTTPS)设置为Accept both HTTP and HTTPS connections并将表单操作更改为http,则可以正常工作。但是,我需要所有远程连接都是https。

我还尝试使用443端口的CORS并得到了同样的错误。

<cors enabled="true">
    <domain name="imagesreimagined.com:443” methods="post"/>
</cors>

调用Wakanda服务器的服务器不是SSL,如果这有所不同。

2 个答案:

答案 0 :(得分:1)

一旦我从cors域名中删除了端口号并将SSL添加到托管网站发布到Wakanda Server的服务器上,它就可以了。

答案 1 :(得分:0)

我想这不是一个答案,而是在问题上增加更多内容,希望它有所帮助。

这太棒了。我今天早上登录了SO,打算问同样的问题。我的设置略有不同。

我的Wakanda服务器设置为仅接受SSL连接并设置为Accept only HTTPS from remote & allow HTTP and HTTPS from localhost。 Wakanda服务器在端口8443上发布。

在同一台机器上,我有一个在端口80上运行的Apache服务器,它发布了我的Angular 2应用程序。

我花了几个小时试图让CORS无法正常工作。我还没有尝试在SSL上运行Angular应用程序,但这听起来值得一试。

=====================

经过进一步调查,我发现了问题。

不要在CORS定义中包含协议。

即:

而不是

<domain name="http://app.example.com" methods="post;get;put;delete"/>

应该是:

<domain name="app.example.com" methods="post;get;put;delete"/>

非常明显,但我很长时间没有看到它。