我有一个SaaS应用程序,用户可以input他们的域名。 应用程序使用传入请求的主机名来根据他们为其帐户input的域确定帐户,加载设置,主题等。
我不想为用户添加的每个新域添加一个新的Nginx主机,这导致我有一个解决scheme,其中所有的人都将他们的www CNAME指向我的服务器上的静态子域(例如all-websites.[my domain].com ),将每个根请求redirect到其各自的www版本(例如, example.comredirect到www.example.com )。
上述解决scheme是否可以工作,如果有的话,是否有任何缺点,如果不是的话,你是否知道一个更好的解决scheme,每次用户注册时都不需要更新Nginxconfiguration(我也不想有一个脚本编辑configuration为我)。
使用listen指令标记要用作缺省的server部分,以便nginx在没有匹配的server_names的情况下使用该部分。 这听起来像你总是代理一个应用程序,该应用程序知道如何处理不同的主机,但如果需要,你可以在你的nginxconfiguration中使用$hostvariables。
listen 80 default_server;