1. Generate certificate (cert.pem) and key (key.pem)
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"
  1. Add https line in astro.config.mjs
...
const cert = fs.readFileSync('./cert.pem');
const key = fs.readFileSync('./key.pem');
...
export default defineConfig({
  ...
  vite: {
    server: {
      https: {key,cert}
    }
  }
});

Sources

  1. StackOverflow
  2. Astro Git