尝试解决困扰我一段时间的问题。我已将症状提炼为一组可重现的步骤:
我有两个网站,
siteA
和siteB
。它们都是在不同端口上运行的 Node.js 应用程序(为了举例说明,4567
和4568
)两个应用程序都有自己的文件
sites_available
(加上来自的符号链接sites_enabled
),其中分别包含指令proxy_pass http://node_siteA/
和proxy_pass http://node_siteB/
,位于块内location
。它们各自都有一个
upstream
块(全局定义?):upstream node_siteA { upstream node_siteB { server 127.0.0.1:4567; server 127.0.0.1:4568; } }
站点 A 和站点 B 彼此无关。
是的,每次我做出更改时,都会重新启动(实际上是重新加载)nginx。
如果我关闭网站 B 并尝试通过网络访问它,我所访问的将是网站 A。
为什么是这样?
思考
其他时候,
Site C
例如,当我创建一个新的 时,nginx 拒绝向我显示除“欢迎使用 nginx!”之外的任何内容,持续约 5 分钟。这可能表明解析器超时了?Site B
当我在其配置被删除后访问时,它会将我发送到Site A
,这听起来就像 nginx 以循环方式将我发送到服务器......
答案1
解决这里。结果发现问题不在于 nginx,而在于 CloudFlare。