You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用已注册域名在个人服务器部署Angular网站

Angular网站个人服务器IIS部署指南(解决证书及域名访问问题)

一、修复NET::ERR_CERT_AUTHORITY_INVALID证书错误

默认跳转HTTPS但出现证书错误,是因为IIS使用的自签名证书不被浏览器信任,需替换为可信SSL证书:

  • 获取免费可信证书:使用Win-acme工具在Windows服务器上生成Let's Encrypt证书:
    1. 下载适配Windows服务器的Win-acme版本,解压后运行wacs.exe
    2. 按交互提示选择HTTP-01验证方式(前提是域名已解析到服务器公网IP),跟随流程完成证书申请与自动导入
  • 绑定证书到IIS网站:
    1. 打开IIS管理器,选中目标网站 → 右键「编辑绑定」
    2. 找到HTTPS类型绑定,点击「编辑」
    3. 在「SSL证书」下拉菜单中选择刚生成的Let's Encrypt证书,保存设置

二、确认域名解析有效性

登录域名注册商后台,将域名A记录指向个人服务器的公网IP,等待解析生效(可通过ping 你的域名命令验证解析结果)

三、Angular项目IIS部署完整步骤

  1. 构建生产环境包:在本地Angular项目根目录执行命令:
    ng build --configuration production
    
    生成的静态文件位于dist/[项目名]目录下
  2. 部署静态文件:将dist目录内的所有文件复制到IIS网站的物理路径(如C:\inetpub\wwwroot\angular-site)
  3. 配置URL重写(解决单页应用路由问题):
    • 安装IIS URL重写模块(通过Windows服务器的Web平台安装器搜索安装)
    • 在网站根目录创建web.config文件,写入以下内容:
      <?xml version="1.0" encoding="UTF-8"?>
      <configuration>
        <system.webServer>
          <rewrite>
            <rules>
              <rule name="Angular Routes" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                  <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="/index.html" />
              </rule>
            </rules>
          </rewrite>
          <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
            <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
            <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
          </staticContent>
        </system.webServer>
      </configuration>
      
  4. 配置网站绑定:
    • 添加HTTP绑定:域名填写你的注册域名,端口设为80
    • 添加HTTPS绑定:域名填写你的注册域名,端口设为443,选择已导入的可信证书
    • (可选)添加HTTP转HTTPS规则:通过URL重写模块创建规则,将所有HTTP请求重定向到HTTPS

四、额外排查项

  • 确保服务器防火墙开放80、443端口,允许公网访问
  • 将IIS网站对应的应用程序池设置为No Managed Code(Angular为静态站点,无需.NET运行时)
  • 若浏览器仍缓存旧证书错误,使用隐私窗口测试或清除浏览器缓存

内容的提问来源于stack exchange,提问作者Gyan Mitra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:35:27