在Azure上,是否可以为PHP Web应用程序包含一个web.config文件(或等效文件)?

3
我想将我的PHP网站访问权限限制为特定的IP地址,但我看到目前唯一适用的 文档 是使用 web.config 文件实现的。我知道在ASP.NET项目中通常会使用web.config文件,但不确定是否可以在PHP项目中的某个位置包含它。我尝试将名为web.config的空文件包含在我的Web根目录中,但请求该网站时显示“因为发生了内部服务器错误,无法显示页面。”
请问有没有一个正确的位置可以将它放在我的目录下? 是否有一种特定的配置方式?或者是否还有另一种等效于web.config的文件可以包含在别处?
1个回答

5

是的,您绝对可以使用php页面和web.config来实现这一点。确保将web.config放置在网站的根文件夹中。

请查看下面的代码,已经完美运行。我将其推送到以下网站进行测试:http://php-ip-restrict-110515.azurewebsites.net/

我的index.php文件:

<!DOCTYPE html>
 <html>
 <body>

<?php
 echo "My test PHP script!";
 ?>

 </body>
 </html>

我的 web.config 文件

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<system.webServer>
    <security>
        <ipSecurity allowUnlisted="false" denyAction="NotFound">
            <add allowed="true" ipAddress="XXX.XXX.XXX.XXX" />
        </ipSecurity>
    </security>
</system.webServer>
</configuration>

请确保将XXX.XXX.XXX.XXX替换为您的IP地址。


所以文件不能是空的,需要正确配置。我之前尝试过另一个配置示例,但我猜其中的设置与我的网站不兼容。谢谢! - Kevin
1
有趣的事实是,如果您通过Git上传一个PHP文件,Kudu(Web应用程序的后端)将为您创建一个Web.config文件。因此,您可以转到<your_site>.scm.azurewebsites.net并使用文件浏览器,您会发现自动生成的web.config文件(如果您没有指定)。 - Chris Anderson
@ChrisAnderson-MSFT 谢谢,我在上传项目时没有上传自己的web.config文件后找到了一个名为rootweb.config的文件,但似乎我没有编辑它的权限。我想知道在编辑此文件方面是否还有更多有趣的事情。 - Kevin
它是否在您的wwwroot文件夹中? - Chris Anderson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接