给你一些关于我的问题的背景:
我有一个安装软件并公开提供服务的应用程序。安装时:
- 将基础文件安装到根路径(即
/var/www/{site}
) - 创建一个新的 nginx 配置文件并将其放置在
/etc/nginx/sites-available/{site}
- 创建指向该文件的符号链接
/etc/nginx/sites-enabled/{site}
- 重新加载 nginx 配置:
service nginx reload
- 向 CloudFlare 发送 API 调用以将所有请求定向
{site}.mydomain.com
到服务器的 IP 地址
在那之后,{site}.mydomain.com
应该工作,除了......它没有!
...直到您等待约 5 分钟,然后它神奇地开始工作。代理在 nginx 生效之前是否有延迟?
如果我删除{site}
并读取它(与上述相同的过程),即使它以前工作过,它也会停止工作一段时间,然后再开始工作。
我无法解释发生了什么!
nginx 配置(在{site}
哪里foobar
)
upstream mydomain_foobar {
server 127.0.0.1:4567;
}
server {
listen 80;
server_name foobar.mydomain.com;
root /var/www/mydomain/foobar/;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://mydomain-foobar/;
proxy_redirect off;
# Socket.io Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}