因為公司領導要求新的項目能跨平台部署,也就是說能部署到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的同學們注意這個問題。