我目前正在尝试使用AWS S3和CloudFront部署VueJS网站。我遵循了使用REST API端点作为源,访问受此article的OAC限制。我首先运行npm run build
,然后创建了一个S3存储桶,用dist
文件夹中的文件填充它,然后为我的S3存储桶创建了一个CloudFront发行版,访问受到OAC的限制。我还将发行版的默认根对象设置为index.html
。我指定,如文章中提到的,静态网站托管被关闭。
然而,当我尝试使用分发URL访问网站时,我只得到Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
错误。如果我刷新网站,错误消息将更改为GET https://seeding.gg/assets/index.b6d75f23.js net::ERR_CONNECTION_TIMED_OUT
。我现在没有设置域名,所以我通过https://***.cloudfront.net/
url访问网站。
由于我不知道问题的来源,您可以在下面找到我的S3存储桶的结构:
| favicon.ico
| index.html
|
+---assets
| bootstrap.32fb5687.css
| bootstrap.8e7ba031.js
| index.25abbdf5.js
| main.6ce62329.js
| vendor.43d552e6.js
|
\---img
\---cards
ssbm.jpg
ssbu.jpg
vite.config.js
文件的内容:
import { fileURLToPath, URL } from "url";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import dotenv from 'dotenv';
const env = process.env.VITE_APP_ENV || 'dev';
const envConfig = dotenv.config({ path: `.env.${env}` }).parsed;
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
define: {
'process.env': Object.keys(envConfig).reduce((acc, key) => {
acc[key] = envConfig[key];
return acc;
}, {}),
},
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
base: 'https://***.cloudfront.net/',
build: {
outDir: 'dist',
rollupOptions: {
input: ['src/main.js', './index.html']
}
}
});
先谢谢你了。
1条答案
按热度按时间4dc9hkyq1#
这可能是由于DNS传播问题。
您的配置看起来是正确的,我想不出有什么可能导致资源加载失败。