问题描述

中国区的Azure App Service(应用服务)已经支持创建Docker并选择Linux环境。在使用中,我们可以继续通过kudu站点的方式登录查看站点的一些日志及部署文件。它的登录方式与App Service Windows方式一样(通过门户目录的Advance Tool登录,或在URL中添加.SCM登录)。如想要跟多的操作及Linux SSH方式,在微软的官方站点中,推荐有两种登录方式:

  • 在浏览器中打开 SSH 会话

对于第一种,从门户左侧目录“SSH”登录到SSH窗口时,则一直出现CREDENTIALS提示,始终无法成功登录。错误截图如下:

问题原因

在浏览器中通过开发者工具(F12)查看到错误发生在加载Jquery 1.11.0文件,Azure App Service使用的JS地址为 https://code.jquery.com/jquery-1.11.0.min.js,经验证,该地址无法在国内网络正常访问。

查看错误信息截图:

国内网络无法访问:(https://code.jquery.com/jquery-1.11.0.min.js)

替换方案

在了解到根本原因后,替代方案有两种。

以下部分为在使用远程SSL的方式时,在Powershell中执行的命令及截图:

第一步:使用Powershell登录到中国区并选择订阅

az cloud set --name AzureChinaCloud
az login
az account set --subscription 'select subscription'
  • 第一行命令设置登录的环境。如不设定,默认为Global Azure
  • 第二行命令通过浏览器打开登录页面。登录成功后,会列出所有的订阅号。
  • 第三行命令设置目标订阅

第二步:使用 az webapp create-remote-connection 命令打开到应用的远程连接

完整命令为:

az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &

第三步:开启新的Powershell窗口,建立SSH连接

通过第二步中的端口60812,建立SSH连接,命令为:ssh root@127.0.0.1 -p 10812

参考资料

以交互方式登录: https://docs.azure.cn/zh-cn/cli/authenticate-azure-cli?view=azure-cli-latest
在 Azure 应用服务中打开 Linux 容器的 SSH 会话: https://docs.azure.cn/zh-cn/app-service/configure-linux-open-ssh-session#open-ssh-session-in-browser
Nginx的Dockerfile内容:https://hub.docker.com/layers/nginx/library/nginx/latest/images/sha256-d73056bfea356376bf2464e544cc5508d8670f51b56b17a76638ee5433fb8e9f?context=explore

开启SSH服务,在自定义镜像时添加ssh server的部分: https://docs.microsoft.com/en-us/azure/app-service/configure-custom-container?pivots=container-linux#enable-ssh

参考微软官方给出的镜像进行构建自定义镜像: https://github.com/Azure-App-Service/tomcat/blob/dev/8.5-jre8/Dockerfile

【应用服务 App Service】解决无法从Azure门户SSH登录问题的更多相关文章

  1. 【应用服务 App Service】发布到Azure上的应用显示时间不是本地时间的问题,修改应用服务的默认时区

    问题情形 应用程序发布到App Service后,时间显示不是北京时间,默认情况为UTC时间,比中国时间晚 8 个小时. 详细日志 无 问题原因 Azure 上所有的服务时间都采用了 UTC 时间. ...

  2. 【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)

    测试App Service是否可以访问其他DNS 当应用服务(Azure App Service)创建完成后,想通过ping命令来查看是否可以访问其他站点或解析DNS,但是发现ping命令无法使用.这 ...

  3. 【应用服务 App Service】App Service中抓取网络日志

    问题描述 众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所 ...

  4. 【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))

    问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这 ...

  5. 【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决

    问题情形 当访问部署在Azure App Service中的应用返回 "The remote name could not be resolved: ''xxxxxx.com'" ...

  6. 【应用服务 App Service】Azure App Service 中如何安装mcrypt - PHP

    问题描述 Azure App Service (应用服务)如何安装PHP的扩展 mcrypt(mcrypt 是php里面重要的加密支持扩展库) 准备条件 创建App Service, Runtime ...

  7. 【应用服务 App Service】在Azure App Service中使用WebSocket - PHP的问题 - 如何使用和调用

    问题描述 在Azure App Service中,有对.Net,Java的WebSocket支持的示例代码,但是没有成功的PHP代码. 以下的步骤则是如何基于Azure App Service实现PH ...

  8. 【Azure 应用服务】App Service 无法连接到Azure MySQL服务,报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    问题描述 App Service使用jdbc连接MySQL服务,出现大量的  Communications link failure: com.mysql.cj.jdbc.exceptions.Com ...

  9. 【应用服务 App Service】当使用EntityFrameWorkCore访问Sql Server数据库时,在Azure App Service会出现Cannot create a DbSet for ** because this type is not included in the model for the context的错误

    问题情形 使用EF Core访问数据库,在本地运行正常,发布到App Service后,偶尔出现了Cannot create a DbSet for ** because this type is n ...

随机推荐

  1. Memcached 的惹祸,.NET 5.0 的背锅

    抱歉,拖到现在才写这篇为 .NET 5.0 洗白的博文(之前的博文),不好意思,又错了,不是洗白,是还 .NET 5.0 的清白. 抱歉,就在今天上午写这篇博客的过程中,由于一个bug被迫在访问高峰发 ...

  2. drf 视图使用及源码分析

    前言 drf视图的源码非常的绕,但是实现的功能却非常的神奇. 它能够帮你快速的解决ORM增删改查的重复代码,非常的方便好用. 下面是它源码中的一句话: class ViewSetMixin: &quo ...

  3. 对于button元素的理解

    button有四种常用的类型: submit:  此按钮将表单数据提交给服务器.如果未指定属性,或者属性动态更改为空值或无效值,则此值为默认值. reset:  此按钮重置所有组件为初始值. butt ...

  4. 【Kata Daily 190911】Multiplication Tables(乘法表)

    题目: Create a function that accepts dimensions, of Rows x Columns, as parameters in order to create a ...

  5. JS--遍历对象属性的五种方式

    ES6 一共有 5 种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). (2)Object.keys(obj) Ob ...

  6. 【SpringBoot】11.Springboot整合SpringMVC+Mybatis(上)

    Springboot整合SpringMVC+Mybatis 需求分析:通过使用Springboot+SpringMVC+Mybatis 整合实现一个对数据库表users表的CRUD操作. 1.创建项目 ...

  7. 腾讯云--cdn静态内容上传刷新

    一.cdn缓存刷新 当静态内容需要更新时,通常会往COS覆盖上传,不覆盖删除上传等进行更新资源或删除对象存储中的内容. 如果配置的CDN缓存过期时间较长,会导致文件更新后其他边缘节点依旧会缓存旧资源: ...

  8. Python正则表达式-换行的匹配

    找到了之前参考的博文,用来记录一下https://www.cnblogs.com/baxianhua/p/8572805.html 平常 点 (.)去匹配任意字符的时候,是不能匹配换行符的 匹配换行: ...

  9. vscode搭建c++环境

    第一步:下载 Vs Code 点击链接下载Vs Code 下载版本  并安装 https://code.visualstudio.com/ 点击 Download for Windwos 安装时  如 ...

  10. Spider_基础总结5--动态网页抓取--元素审查--json--字典

    # 静态网页在浏览器中展示的内容都在HTML的源码中,但主流网页使用 Javascript时,很多内容不出现在HTML的源代码中,此时仍然使用 # requests+beautifulsoup是不能够 ...