一切都很好,直到昨天/今天午夜。但是今天我们无法从位于孟买(ap-south-1)的EC2实例中访问Shopify REST API。DNS正确解析到Shopify商店:
[ec2-user@ip-172-31-12-194 ~]$ dig turms.myshopify.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.58.amzn1 <<>> turms.myshopify.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52296
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;turms.myshopify.com. IN A
;; ANSWER SECTION:
turms.myshopify.com. 30 IN CNAME shops.myshopify.com.
shops.myshopify.com. 8 IN A 23.227.63.64
;; Query time: 0 msec
;; SERVER: 172.31.0.2#53(172.31.0.2)
;; WHEN: Sat Jun 1 06:13:17 2019
;; MSG SIZE rcvd: 73
无法通过访问商店来获取REST API:
[ec2-user@ip-172-31-12-194 ~]$ curl -vX GET https://turms.myshopify.com/admin/api/2019-04/orders/metafieldId/metafields.json -H 'Accept: */*' -H 'Authorization: Basic Auth'
Note: Unnecessary use of -X or --request, GET is already inferred.
* Trying 23.227.63.64...
* TCP_NODELAY set
* connect to 23.227.63.64 port 443 failed: Connection timed out
* Failed to connect to turms.myshopify.com port 443: Connection timed out
* Closing connection 0
curl: (7) Failed to connect to turms.myshopify.com port 443: Connection timed out
为什么从EC2实例内部拨打Shopify电话会失败?重新启动服务器、清除缓存和启动新的机器都没有带来任何结果。欢迎提供任何帮助。
更新: 在us-east实例中不存在此问题。因此,我们创建了代理实例,通过代理服务器路由我们应用程序中的Shopify呼叫。这不是长期解决方案,我们仍在寻找答案。