【Azure 应用服务】App Service For Linux 环境中,如何修改 Nginx 配置中 server_name的默认值 example.com
问题描述
在App Service for Linux环境中,部署PHP应用,使用Nginx服务器。因为PHP应用中所有静态资源的URL使用的默认域名为 https://example.com:8080 开头,所以需要在Nginx中配置域名转换,而如果使用Apache则免配置。 所以,当使用Nginx的时候,需要修改配置,在 /etc/nginx/sites-enabled/default 文件中添加 server_name : xxxxxxx.com # <对应域名>
通过添加在wwwroot根目录中添加一个测试Server Name的文件,验证发现,App Service For Linux的环境中,Server Name就是默认的example.com。
测试Server Name文件内容:
<?php $url = "https://" . $_SERVER['SERVER_NAME']; echo $url; header("location: $url");
解决方式
1)自定义Nginx配置文件 ,自定server_name
2)把自定义Nginx配置文件上传到 /home/site/wwwroot 文件中,可以通过FTP或者其他部署方式,也可以和PHP代码文件一起部署。
3)在Configuration 页面通过设置启动命令,把自定义Nginx文件复制到 /etc/nginx/sites-enabled/default/home/default 目录中,重启Nginx服务。
cp /home/site/wwwroot/default /etc/nginx/sites-enabled/default; service nginx restart
访问站点即可得到正确的域名:
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!