1

在生产中,当我尝试从客户端 url ' https://something.com/ ' 连接到我的 socket 客户端,我得到一个 404

https://something.com/socket.io/?__sails_io_sdk_version=0.13…owser&__sails_io_sdk_language=javascript&EIO=3&transport=polling&t=LFGJG5g 404 (Not Found)

当我在本地机器上的sails 中建立套接字连接时,它可以工作。

我的本地配置。

客户主机

http://localhost:8080/

API主机

http://localhost:1337/

HTML

<script src="sails.io.js" autoConnect="false"></script>

JS

connect() {
    this.socket = io.sails.connect('http://localhost:1337');// Works Fine
}

我的生产配置

客户主机

https://something.com/ 

API主机

https://something.com/api/

JS

connect() {
    this.socket = io.sails.connect('https://something.com/api/');// Does not work
}

我确保将 autoConnect 设置为 false 并且唯一的连接是通过 connect() 函数发生的。似乎无论我将什么字符串传递给 connect() 函数(仅在生产中),它都假定客户端 URL(https://something.com/)并从生产 URL 中删除后缀 /api/ (https: //something.com/api/)。

4

1 回答 1

0

<script src="/js/dependencies/sails.io.js"></script>
<script type="text/javascript">
  io.sails.url = 'https://myapp.com'; // or where you want
</script>

可以在此处找到文档:http ://sailsjs.com/documentation/reference/web-sockets/socket-client#?programmatic-configuration-using-iosails

于 2017-03-18T15:21:54.570 回答