因为公司领导要求新的项目能跨平台部署,也就是说能部署到Linux服务器上,故新的项目采用了Asp.net mvc core 1.1 进行开发。开发过程一切都比较顺利,然后在之前申请试用的一台微软Azure上的Linux也部署测试成功了。后来因为公司整体运维上的考虑,决定采用阿里云来部署新的项目。那么问题就来了。。。
公司申请的是一台安装了阿里云Ubuntu 16.04 64位系统的服务器。安装nginx和supervisor都正常,但是在安装.net core sdk的时候出现了问题, 我按照微软官方文档添加dotnet apt-get feed的时候,在执行最后一步 apt-get update出现了以下错误:
apt-get update 时提示如下错误:
Ign:20 https://apt-mo.trafficmanager.net/repos/dotnet-release xenial/main Translation-en_US
Ign:21 https://apt-mo.trafficmanager.net/repos/dotnet-release xenial/main Translation-en
Err:18 https://apt-mo.trafficmanager.net/repos/dotnet-release xenial/main amd64 Packages Bad header line
E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/main/binary-amd64/Packages 403 Forbidden [IP: 112.124.140.210 80]
E: Failed to fetch https://apt-mo.trafficmanager.net/repos/dotnet-release/dists/xenial/main/binary-amd64/Packages Bad header line
E: Some index files failed to download. They have been ignored, or old ones used instead.
仔细一看是出现了 403 Forbidden 错误,之前在微软Azure上的测试都成功了,在阿里云上的服务器就失败?后来又拿来另外一台安装了Ubuntu系统的阿里云服务器进行安装,也出现了同样的错误。这就怀疑是阿里云提供的操作系统肯定进行过了改动,果然在目录 /etc/apt 下的apt.conf下,有下面的一句配置:
Acquire::http::Proxy "http://mirrors.aliyun.com/";
把这句配置注释掉后,再运行 apt-get update 果然就成功了~
在这里把问题以及解决方法写出来,希望和我同样使用阿里云ECS的同学们注意这个问题。