问题:
我试图让Nginx匹配主机名(包含域名),据我所知,$hostname仅包含主机名,不包含域,因此它没有用。
$ hostname -f
www.example.com
我尝试的东西:
server_name www.example.com # works
server_name $hostname # fails, only matches 'www'
server_name $hostname.example.com # fails, doesn't match anything
server_name "$hostname.example.com" # ditto
server_name ${hostname}.example.com # ditto
server_name $(hostname).example.com # ditto
除了将主机名硬编码到我的nginx.conf文件中(我需要避免)之外,还有什么选择?
答案1:
解决方法是,可以将以下行添加到Nginx启动脚本中:
echo -e "server_name `hostname -f`;n" > /etc/nginx/hostname.conf
然后在Nginx配置文件中使用include hostname.conf;
指令。
相关文章