vue.js 访问S3 + CloudFront网站时CONNECTION_TIMED_OUT

bq3bfh9z  于 2023-05-01  发布在  Vue.js
关注(0)|答案(1)|浏览(192)

我目前正在尝试使用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']
    }
  }
});

先谢谢你了。

4dc9hkyq

4dc9hkyq1#

这可能是由于DNS传播问题。
您的配置看起来是正确的,我想不出有什么可能导致资源加载失败。

相关问题