Skip to content

Latest commit

 

History

History
281 lines (202 loc) · 15.1 KB

File metadata and controls

281 lines (202 loc) · 15.1 KB

服务器及域名配置

域名

注册购买域名

如果名下没有域名,可以去阿里云万网注册和购买一个域名。

Untitled 输入想要注册的域名,查询一下,看是否已经被别人注册。.com域名比.cn等要贵一些,如果没有特殊需求,可以选择后缀为.cn.net或者其它类型的域名。

Untitled 选择购买年限,可以直接购买10年或者1年

Untitled 购买完成之后,进入到阿里云控制面板中的域名控制台,在列表中可以找到新购入的域名,在这里可以编辑或配置域名的对应信息。

实名认证

按照工信部2017年域名全面实名认证的要求,域名注册成功后必须进行域名实名认证来审核域名命名合规和域名持有人信息真实,若域名在规定时间内未通过实名审核,会被注册局暂停解析(Serverhold),无法正常访问,实名认证审核通过后的1-2个工作日解析可恢复使用。

个人实名认证流程及所需资料

  1. 进入域名列表
  2. 未实名认证域名列表
  3. 选择未实名认证域名-单击提交资料
  4. 上传并提交认证资料(身份证、人体上身白底照等)
  5. 等待审核完成(3-5个工作日内)

Untitled 域名实名认证成功后,会发送邮件到邮箱提示认证成功。

服务器

购买服务器

接着购买服务器,这里选择的是阿里云的云服务器ECS(弹性可伸缩的云计算服务)

Untitled 进入到购买页面,选择自定义购买,根据使用需求来定制云服务器的功能配置。因为是个人网站使用,没有大的功能需求和性能需求,所以我的配置原则就是:不太懂,够用就行

配置服务器环境

在云服务器上安装一套配置了Linux、Apache、MySQL和PHP应用的开发环境 在购买ECS服务器后,系统会创建一个ECS实例。每一个ECS实例对应一台已购买的云服务器。可以通过电脑上自带的终端工具访问云服务器,进行应用部署和环境搭建。

  1. 登陆云服务器
    1. 复制ECS实例的公网IP地址
    2. 在终端中输入连接命令ssh root@121.40.208.34
    3. 输入云服务器的登录密码
  2. 安装Nginx服务
# SSL功能需要openssl库
yum install openssl

# gzip模块需要zlib库
yum install zlib

# rewrite模块需要pcre库
yum install pcre

# 安装Nginx
yum install nginx -y

# 启动Nginx
service nginx start

环境配置

解析域名到服务器

云解析DNS就是指把网站域名或应用资源转换为数字 IP地址,从而将最终用户的访问路由到相应的网站或应用资源上。

解析域名到服务器,添加相应记录,之后就可以通过域名访问在服务器上存放的应用资源。 以www为例子,新增一个记录,配置如下所示。

解析记录配置

  • 记录类型:A-将域名指向一个IPV4地址
  • 主机记录:www

    主机记录就是域名前缀,常见用法有: www:解析后的域名为www.aliyun.com。 @:直接解析主域名aliyun.com。 *:泛解析,匹配其他所有域名*.aliyun.com。 mail:将域名解析为mail.aliyun.com,通常用于解析邮箱服务器。 二级域名:如:abc.aliyun.com,填写abc。 手机网站:如:m.aliyun.com,填写m。 显性URL:不支持泛解析(泛解析:将所有子域名解析到同一地址)

  • 解析请求来源:默认
  • 记录值:服务器的IP地址(公网IP:121.40.208.34) Untitled
  • TTL:解析结果缓存时间设置为10分钟

Untitled Untitled 添加完之后,ping这个带新前缀的域名www.xzhxch.com,测试一下新解析的域名,结果显示能ping通,解析www.xzhxch.com成功。

Untitled Untitled 顺手再解析一个主域名xzhxch.com,将主机记录值设置为@,添加记录。

再次测试,发现没ping通,可能是有缓存的缘故,稍等一会儿,重新ping,可以了 Untitled

域名备案

域名注册购买完成之后,又经历了实名认证,域名解析。此时在浏览器输入域名进行访问,发现有问题:网站暂时无法访问。 Untitled 这是因为网站没有进行备案,还不能进行正常的访问,所以接下来就需要进行域名备案的操作了。

根据国家的相关法规要求,若使用中国大陆地区服务器开办网站或提供其他类似的网络信息服务,须依法进行备案。通过域名访问网站、浏览网站内容时,此网站会被解析到某地的服务器上,每个网站背后需有对应运营单位、单位负责人以及网站负责人。

如果服务器在中国大陆境内,则上述域名、网站内容、网站负责人等信息需在各地管局处报告存案以备查考,就是所说的备案。如果网站解析到的服务器在中国香港、中国台湾、中国澳门或非中国的国家(地区),则无需备案。

ICP备案 根据国家相关法规要求,需要准备所需的可备案服务器、已实名域名、主办单位和备案负责人资料,用于后续管局审核存案。

Untitled 此时需要注意上传身份证照片、域名有效期、服务器有效期等问题 Untitled

提交备案申请 Untitled 可通过服务器提供商(如:阿里云)提交备案申请,阿里云可免费代提交备案申请。备案申请有电脑端和移动端两个提交渠道,需要填写备案域名、网站、主办单位及负责人等相关信息,同时使用移动端上传所需资料。 通过阿里云提交备案申请后,阿里云备案审核专员会对订单进行初审,并反馈初审结果,若资料有误,会被驳回,需要重新填写和提交申请。

初审通过后,备案订单将会提交管局进行最终审核,审核的结果会通过短信及邮件的方式进行通知(此时需要注意及时查收邮件或短信,进行验证)。

管局审核通过后,备案即成功。审核完成后,备案结果将以短信的方式发送至备案时填写的手机号码中。

备案成功后,可以在ICP/IP地址/域名信息备案管理系统查询验证域名备案信息。在阿里云官网备案页面查询自己的备案信息,变更主体或新增网站。 Untitled Untitled

需要对网站负责人进行人脸核验,需要找一处白色的背景进行拍摄,审核挺严格的。

可能出现的问题

  1. 依旧无法正常访问网站

    原因:管局备案信息还未同步到阿里云。在阿里云提交备案申请且备案申请刚通过管局审核,管局信息还未同步到阿里云ICP代备案管理系统。 处理方法:管局信息同步到阿里云ICP代备案管理系统需要一定时间,待信息同步完成后即可正常访问网站。具体的信息同步时间无法确定,建议您在收到管局审核通过的通知后,等待一段时间再尝试访问网站

SSL证书

SSL(Secure Socket Layer)安全套接层是Netscape公司率先采用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。

数字证书管理服务(原SSL证书)为网站和移动应用(APP)及小程序提供数据HTTPS加密协议访问,保障数据的安全。装载SSL证书产品后自动激活浏览器中显示“锁”型安全标志,地址栏以“https”开头。阿里云提供SSL证书(服务端和客户端),均有ECC、RSA 或国密算法的证书规格可供选择。

备案完成后,就可以进行申领和配置SSL证书的工作了。

SSL证书领取及配置流程

  1. 领取20个免费证书
  2. 创建证书
  3. 证书申请
  4. 证书验证
  5. 提交审核
  6. 下载部署证书

配置Nginx

工具(阿里云客户端) 阿里云客户端是由阿里云官方推出的客户端工具,提供了对云服务器ECS、弹性容器实例ECI、轻量应用服务器、阿里云托管实例的资源浏览、查找、远程连接等功能,可以更高效、便捷地使用云产品。

工具(Transmit) Transmit是一款功能强大的FTP客户端,用户可以在任意应用程序中无须下载即可实时编辑文档,下载和管理大量服务器上的 文件等。

部署SSL证书阿里云SSL证书列表,下载已申请的SSL证书。将.pem和.key文件,上传到服务器指定目录中,并在nginx中添加对应的配置。

# 80.conf
server {
    listen       80;
    server_name  _;
    # http跳转到https
    return 301 https://$host$request_uri;
}
# 443.conf
server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  xiachaohui.com;nginx

    ssl_certificate "/usr/local/nginx/cert/xiachaohui.com.pem";
    ssl_certificate_key "/usr/local/nginx/cert/xiachaohui.com.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers PROFILE=SYSTEM;
    ssl_prefer_server_ciphers on;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
        root /home/xiachaohui/monorepo/index/dist;
        try_files $uri $uri/ /index.html;
        # index index.html;
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

保存设置,nginx -s reload重启Nginx,查看效果,SSL证书成功部署完毕。

Github仓库

使用Github来托管构建网站的代码,借助Github Action来实现一定程度的自动化

GitHub Action流水线

FAQ常见问题

【请求数据报错】 问题描述:本地调试时,请求数据过程正常,发布到线上环境中后,请求数据报错:Mixed Content: The page at 'xxx' was loaded over HTTPS, but requested an insecure resource 'xxx'. This request has been blocked; the content must be served over HTTPS.

问题分析:当我们的浏览器出现类似“was loaded over HTTPS, but requested an insecure resource/frame”这种错误时,一般都是因为我们的网站是HTTPS的,而对方的链接是HTTP协议的,因此在Ajax或者javascript请求时,就会报这种错误。

解决方案:

proxy_read_timeout 600s;
proxy_send_timeout 600s;
client_max_body_size 20m;
add_header Access-Control-Allow-Origin *;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  • 在文件中加入以下meta选项
<!-- 它会自动将HTTP请求升级成安全的HTTPS请求 -->
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

【解析DNS后网址没有ping通】 Untitled

【管局备案后依旧无法正常访问网址】 可能原因:管局备案信息还未同步到阿里云。在阿里云提交备案申请且备案申请刚通过管局审核,管局信息还未同步到阿里云ICP代备案管理系统。 处理方法:管局信息同步到阿里云ICP代备案管理系统需要一定时间,待信息同步完成后即可正常访问网站。具体的信息同步时间无法确定,建议您在收到管局审核通过的通知后,等待一段时间再尝试访问网站

【服务器到期续费】 阿里云新人刚注册的可以享受到新人优惠,有不小的折扣,建议初次购买ECS时,选择时长为较长的3年。因为有新人优惠,相较于后期到期再续费,能节省不少。 Untitled

参考文档或资料

  1. 域名_域名查询_域名注册_.com_.cn-阿里云
  2. 域名实名认证概述_域名-阿里云帮助中心
  3. 云服务器ECS_云主机_服务器托管_弹性计算-阿里云
  4. 公安机关互联网站安全管理服务平台
  5. beian.miit.gov.cn
  6. 证书服务_SSL数字证书_HTTPS加密_服务器证书_CA认证-阿里云
  7. 阿里云客户端如何安装和使用,有哪些功能_云服务器 ECS-阿里云帮助中心
  8. FTP客户端:Transmit 5.9.1 - 掘金
  9. Transmit 5 for macOS. Now available.
  10. 什么是 CI/CD?一文带你理解CI持续集成和CD持续交付/部署 - 红帽
  11. docs.github.com
  12. 触发工作流的事件 - GitHub Docs
  13. 作为前端,要学会用Github Action给自己的项目加上CICD - 掘金
  14. 持续集成 | pnpm