问题描述 总所周知,Azure App Service服务会默认提供一个 ***.chinacloudsites.cn为后缀的域名,但是该域名由上海蓝云网络科技有限公司备案,仅用于向其客户提供 Azure 服务. 而如果不进行ICP备案,任何通过公网流量访问默认域名都会被封堵.因为Azure后台会根据对默认域名的请求次数和频率自动扫描,如果被扫中,就会被封堵.所以为了避免这样的情况,所以需要禁止任何人使用默认域名访问! 问题分析 方式一:使用IIS的rewrite规则,发现访问的时默认域名,返回…
问题描述 在Azure Function Portal上显示: Azure Functions runtime is unreachable,引起的结果是Function App目前不工作,但是此前一直都是正常工作的,且没有对Azure Function做过任何的改动,那它是为什么出现这样的问题呢? 问题分析 Azure Functions runtime is unreachable 的错误是 "Azure Functions 运行时不可访问",此问题的最常见原因是函数应用失去了对其…
本文是Windows Azure入门教学的第七篇文章. 本文将会介绍如何使用REST API来直接访问Storage Service. 在前三篇教学中,我们已经学习了使用Windows Azure SDK所提供的StorageClient来使用Blob Storage, Queue Storage以及Table Storage的基本方法.我们在前几篇教学中也提及最终StorageClient也是通过发送REST请求来与服务器端通信的. 在这篇教学中,我们会以Blob Storage为例,说明如何…
本文设置系统为Windows2003.IIS版本是6.0. 打开IIS管理器,在iis管理器左侧单击打开网站下面的相应需要设置的网站,并在此网站上右键,选择属性,即可打开该网站属性进行相关设置. (iis网站属性打开方法) 在网站属性中找到并单击"目录安全性"选项卡,在目录安全性选项卡中找到IP地址和域名限制下面的编辑并单击.即可打开IIS的IP地址和域名限制窗口. (IIS目录安全性设置IP地址和域名限制) 就以授权访问为例,授权访问就是只需要某个IP地址或某个域名或某一组电脑来访问…
需要禁止IP访问网站.在相关的server中设置相关的限制即可.…
就是其实新建一个 多域名访问的设置 <VirtualHost *:80> DocumentRoot /var/www/ ServerName IP</VirtualHost> 与其改其他设置,不如改这个了,这个方式最简单了…
问题描述 在App Service for Windows的环境中,当前只提供了PHP 7.4 版本的选择情况下,如何实现自定义PHP Runtime的版本呢? 如 PHP Version 8.1.9? 当App Service创建号值后,并且在门户上设置PHP Version版本位 PHP 7.4, 然后进入Kudu站点中,进入 C:\home\sites\wwwroot目录中,创建一个index.php 文件,文件内容为: <?php echo "Hello World! This i…
为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,需要在nginx上设置禁止通过IP访问服务器,只能通过域名访问. 最关键的一点是,在server的设置里面添加这么一行: listen 80 default; 后面的default参数表示这个是默认的虚拟主机. 例如:别人如果通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500,或者是404.具体如下: server {       listen 80 default;       server…
今天要在Nginx上设置禁止通过IP访问服务器,只能通过域名访问,这样做是为了避免别人把未备案的域名解析到自己的服务器IP而导致服务器被断网,从网络上搜到以下解决方案: Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效 最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. 这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,…
问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过Git发布静态文件的时候不成功.出现"Could not detect any platform in the source directory." 和 "Error: Couldn't detect a version for the platform 'php' in the…
问题描述 如何在一个AppService下同时部署运行多个Java 应用程序呢? 问题解答 因为App Service的默认根目录为 wwwroot.如果需要运行多个Java 应用程序,需要在 wwwroot目录中创建独立文件夹,用于部署 Jar包 和 web.config 文件,特别注意的时:需要在web.config中指定jar包的启动指令. 如正常部署一个jar包,App Service 根目录下的文件结构如下: web.config内容为: <?xml version="1.0&q…
问题描述 备份网站时由于文件太大了,导致应用服务备份失败.如何解决呢? 问题分析 App Service (应用服务)的备份功能有10GB大小的限制,超过了是无法备份成功的并且该限制是无法扩大的.查看微软云的官方网站,备份功能还有以下限制和要求: 备份和还原功能要求应用服务计划处于标准层.高级层或隔离层 . 在与要备份的应用相同的订阅中,需要有一个 Azure 存储帐户和容器. 最多可备份 10 GB 的应用和数据库内容. 如果备份大小超过此限制,会出错. 不支持备份启用了 TLS 的 Azur…
问题描述 App Service for Linux 资源创建完成后,通过FTP方式把 .jar包(logdemo.jar)包上传到 /site/wwwroot/ 文件夹后,在App Service的Configration 配置页面配置启动命令为: java -jar /site/wwwroot/logdemo.jar 但是,在访问App Service时,却是 Application Error 错误 (503 Service Temporarily Unavailable) 问题解决 第一…
问题描述 因为中国区的App Service对外(公网访问)需要进行ICP备案,所以很多情况下,Web应用部署到App Service后,都是通过Application Gateway(应用程序网关)来对外网暴露,提供公网访问. 上图列出了使用Application Gateway后,外网访问App Service的示意图. 如果直接访问,则会出现403的错误页面. 那么,在这样的情况下,我们如何来实现通过公网暴露Git的URI,实现外网成功部署App Service的代码呢? 问题解答 当然,…
在App Service(Windows)中部署Flask应用时的注意事项: ● 添加Python扩展插件,Python 3.6.4 x64: ●● 配置 FastCGI 处理程序,添加Web.config: FastCGI 是在请求级别工作的接口. IIS 接收传入的连接,并将每个请求转发到在一个或多个持久 Python 进程中运行的 WSGI 应用.将应用的 web.config 文件修改为,在 PythonHandler 键中添加 python.exe 和 wfastcgi.py 的完整路…
问题描述 .NET 6 MVC应用,代码中要求客户端访问时候必须携带正确的证书,如果不携带或者携带错误的证书,都会得到 HTTP ERROR 403 Forbidden 错误 在App Service中,客户端访问不携带证书时的错误页面为 在App Service中客户端访问携带了证书,但是证书验证失败的错误页面为 问题解决 在App Service的配置页面 (General Settings)中,可以开启Client Certificate Mode为Require(它的默认值为Ignore…
前言 在Azure中,可以通过App Service快速部署,构建自定义站点(PaaS服务).默认情况下,这些站点被访问URL都是面向公网,通过公网进行解析.为了最好的安全保障,是否可以有一种功能实现只能内网访问呢?并且为了在企业内部使用,还需要配置私有的自定义域名(如myapp.aaa)? 说明:虽然App Service提供了可以集成虚拟网络(内网),但是这样的集成是指作为App Service服务器实例可以访问到虚拟网络VNET 中的资源(如SQL Service,内网API等),而App…
原文: 在 Windows 10 专业版.企业版或教育版上设置展台 Set up a kiosk on Windows 10 Pro, Enterprise, or Education 适用于 Windows 10 正在查找 Windows Embedded 8.1 工业版信息? 请参阅分配的访问权限 一次性设备或展台设备易于在 Windows 10 桌面版中设置. 使用 Windows 配置设计器(Windows 10 版本 1607 或更高版本)中的预配展台设备向导,可以创建预配包,以配置运…
这个问题折腾了好一会,简单记录一下. 两种方式: 输入"规则名称"."起始 IP"和"结束 IP",然后单击"保存". 规则名称:Allow-All-IPs 起始 IP:0.0.0.0 结束 IP:255.255.255.255 将web应用属性中的出站IP地址分别添加到database中的防火墙规则中. 参考 将现有的 Azure 应用服务连接到 Azure Database for MySQL 服务器…
//设置跨域访问app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header("Access-Control-Allow-Methods",&qu…
app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); //设置跨域访问 app.all('*', function(req, res, next) { res.header("Access-C…
问题描述 在.Net Core 5.0 项目中,添加 Microsoft.Extensions.Logging.AzureAppServices 和 Microsoft.Extensions.Logging.Abstractions插件,并且在项目中添加  logging.AddAzureWebAppDiagnostics() return Host.CreateDefaultBuilder(args) .ConfigureLogging(logging => { //logging.AddCo…
问题描述 在上篇博文"[Azure 应用服务]App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)"中,实现了通过 HTTP 方式访问部署在Azure App Service For Linux上的Python Flask Web Socket项目, 但是当使用HTTPS访问时候,socket.io所发送的GET请求都能正常. HTTP 成功 HTTPS 失败 但是POST请求全部返回400 Bad Request 那么,如何…
问题情形 应用程序发布到App Service后,时间显示不是北京时间,默认情况为UTC时间,比中国时间晚 8 个小时. 详细日志 无 问题原因 Azure 上所有的服务时间都采用了 UTC 时间. 解决方案 如要修改为北京时间,则在App Service的配置页面,"应用设置"节点,添加"WEBSITE_TIME_ZONE",并将值设置为"China Standard Time". 参考资料: 如何修改网站默认时区:https://docs.a…
一切为了安全,所有的云上资源如支持内网资源访问,则都可以加入虚拟网络 问题描述 使用Azure Function处理Storage Account中Blob 新增,更新,删除等情况.Storage Account启用虚拟网络中的服务终结点(Service Endpoint)后,可以实现只能从内网访问.同时,Azure Function也支持集成内网.并且可支持在虚拟网络中被Storage Account所触发.所以根据门户中一步一步的操作,配置完Azure Function和Storage Ac…
问题描述 通过Docker Desktop for Linux,配置Nginx镜像后,自定义nginx.conf文件,修改启动目录和对 /out 路径的反向代理到博客园的博文地址 (https://www.cnblogs.com/lulight/p/15180884.html), 然后部署到Azure App Service中的整体实现方案. 操作步骤(共5步) 第 0 步:启动本地 Docker Desktop,并拉取Nginx 镜像 # 1. pull nginx image ... nee…
问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linux的环境中如何抓取网络包呢? 抓取Windows的网络包可参考博文:[应用服务 App Service]App Service中抓取网络日志 问题解决 通过SSH方式登录到Linux实例,使用tcpdump的工具抓取网络包, 通过IP地址和端口443来进行过滤,生成的网络包写入到tmp目录下的 ap…
问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的环境. 在App Service for Linux环境中,为PHP提供的运行时当前只有PHP 8.0, 并且 PHP 8.0 中使用的Nginx作为代理服务器.然后请求才会传递到PHP应用中. 基于以上分析,在PHP应用中,会收到Nginx 和PHP双重限制.所以传递文件的限制问题设计到两个方面:…
问题情形 当访问部署在Azure App Service中的应用返回 "The remote name could not be resolved: ''xxxxxx.com'" 时,而您在公网中通过nslookup有能够解析成功.这个时间第一怀疑对象为Azure数据中心的DNS服务器没有您当前域名的信息. 详细日志 The remote name could not be resolved: ''xxxxxx.com'  问题原因 以上的情况,往往是发生在该第三方服务的域名解析还未配…
问题描述 使用PowerShell脚本上传文件至App Service目录的示例 脚本示例 对文件进行上传,使用的 WebClient.UploadFile 方法进行上传.当文件夹中包含子目录,执行以下脚本就会报错. $url="ftp://cnws-prod-xxxxx-00x.ftp.chinacloudsites.chinacloudapi.cn/site/wwwroot/" $webappname="your web app name" $username=…