使用域名访问部署在ECS上的网站

简介: 本文为您介绍如何为网站配置域名并为域名配置HTTPS证书。

上一章节,我们完成了Open WebUI的部署流程。通过IP地址访问的方式不专业且难以记忆,本文为您介绍如何为Open WebUI配置域名并为域名配置HTTPS证书。

1. 创建域名信息模板并实名认证

根据工信部要求,在注册域名时需要填写用户信息并通过实名认证。您可以在阿里云域名控制台通过创建信息模板完成实名认证。

  1. 登录阿里云域名控制台,在左侧导航栏单击信息模板,在信息模板页面单击创建新信息模板。
  2. 根据界面提示,完成域名持有者信息填写,单击提交。
    说明:域名实名认证资料的审核通常在1个工作日内可以完成,部分可能需要3~5个工作日,请您耐心等待审核结果。

2. 购买域名

注册域名前您需要根据实际需求,提前规划好域名持有者、域名名称等信息。

  1. 登录阿里云万网,在阿里云域名注册页面的搜索框中,搜索您想要注册的域名以及域名后缀,单击查询域名。
  2. 若域名查询结果为未注册,单击立即注册
  3. 在订单信息页面,选择域名的购买年限和域名所有者类型,单击立即购买。

3. 域名备案

域名注册成功后,您需要将域名解析至您的服务器后才可提供对外服务。当您的网站托管在中国内地服务器上时,必须按照备案主体所在省市的管局规则先进行ICP备案,才能对外提供服务。

  1. 备案前准备。了解ICP备案所在地域的管局规则,根据管局要求准备ICP备案的材料。详细信息请在各地区管局备案规则中单击对应省份查看。
  2. 提交ICP备案。在阿里云ICP代备案管理系统,根据界面提示,按要求填写主办单位信息和网站/App信息等,系统将根据您所填信息,自动校验是否可以进行ICP备案。
  3. 备案审核,审核分为阿里云初审和管局审核。在阿里云初审过程中阿里云审核专员会致电核实备案的真实性,若初审通过会收到工信部短信核验,根据短信内容完成短信核验,ICP备案信息将提交至管局审核。若备案成功,您会收到短信和邮件通知。

4. 获取SSL证书

为了确保网站安全,您可以申请SSL证书,以实现通过HTTPS加密协议安全访问网站。本文以个人测试证书(免费版)为例。

4.1 创建SSL证书

  1. 领取个人测试证书(免费版)。
    登录阿里云数字证书管理服务(原SSL证书),在左侧导航栏选择证书管理 > SSL证书管理。在个人测试证书(原免费证书)页签,单击立即购买。
  2. 创建证书。购买完成后,单击创建证书,证书类型选择上一步购买的个人测试证书(免费版),域名名称输入注册的域名。
  3. 提交证书申请。向CA提交必要的信息(如域名、企业信息等),并通过验证流程来证明您对域名或组织的所有权。只有通过验证后,CA才会签发证书。
    当证书显示“已签发”时,即可以正常使用。请注意,免费证书的有效期一般为三个月。

4.2 下载SSL证书

在证书操作列单击更多,在下载列页签,选择服务器类型为Nginx的证书,单击下载。

4.3 设置域名解析

  1. 登录域名解析dns控制台,选中需要使用的域名,单击解析设置
  2. 添加记录。
    按照如下方式填写记录内容,然后单击确定,约1分钟后生效。即可以通过域名访问您部署的网站。
    主机记录:@
    记录值:ECS公网IP
  3. 验证域名解析生效。
    访问http://your-domain:8080,如果能够正常访问到Open WebUI的网站,则证明解析成功。

5. 给域名配置证书

服务目前监听8080端口,且Open WebUI并不支持直接设置证书文件以支持HTTPS。为了确保能够通过HTTPS请求访问服务,可以在用户与Open WebUI之间增加反向代理服务Nginx,用户与Nginx之间建立HTTPS链接,再由Nginx将用户的请求从默认的443端口转发至服务实际监听的端口8080。

5.1 登录实例

连接至ECS实例,以便后续在实例上执行相关命令。

  1. 前往ECS控制台实例列表,选择目标实例所在的资源组地域后,在列表中找到待连接的实例,单击操作列下的远程连接
  2. 单击通过Workbench远程连接下的立即登录
  3. 选择认证方式,填写相应登录凭证后,单击登录

    注意:如果您是通过计算巢创建的实例,请点击计算巢资源页签的资源ID列进入ECS实例详情页,或者直接根据资源ID在ECS列表中找到ECS实例,再使用Workbench方式远程连接实例。

5.2 安装Nginx

执行以下命令安装Nginx。

# 添加Nginx官方源到系统中
sudo tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/8/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
# 安装Nginx
sudo dnf -y install nginx
# 启动Nginx服务
sudo systemctl start nginx
# 设置Nginx服务开机自启
sudo systemctl enable nginx
# 确认nginx是否安装成功,如果有绿色文字显示active (running),则代表安装成功
sudo systemctl status nginx

5.3 上传SSL证书到ECS

  1. 执行以下命令,在Nginx的配置目录中创建一个用于存放证书的目录。
sudo mkdir -p /etc/nginx/ssl
  1. 将之前下载的SSL证书中的证书文件(.pem文件)和私钥文件(.key文件)上传到Nginx服务器的证书目录(/etc/nginx/ssl)。使用Workbench远程连接实例。具体操作如下:
  1. 使用Workbench远程连接实例。
  2. 在顶部菜单栏左上角处,选择文件 > 打开新文件树

       c. 在文件树中,右键单击需要上传文件的位置(例如/etc/nginx/ssl),然后在菜单中单击上传文件

       d. 选择待上传的目标文件。

弹出如下上传成功提示框时,表示上传完成。
       

您也可在本地使用SSH客户端,使用SCP命令上传文件到服务器。命令格式如下:

scp <本地文件路径> <云服务器登录名>@<云服务器公网IP地址>:<实例目录>

5.4 配置Nginx

  1. 执行以下命令,在Nginx配置文件中添加SSL证书和端口。
    注意:将下列内容中,所有的example.com替换成您自己的域名。
    注意:这里假设部署的网站服务监听端口为8080;如果监听的是其他端口,则根据实际情况修改。
sudo tee /etc/nginx/conf.d/default.conf <<-'EOF'
    # HTTP Server Block (Redirect to HTTPS)
    server {
        listen       80;
        server_name  example.com;
        # Redirect all HTTP requests to HTTPS
        return 301 https://$host$request_uri;
    }
    # HTTPS Server Block
    server {
        #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
        listen 443 ssl;
        
        #填写证书绑定的域名
        server_name example.com;
    
        #填写证书文件绝对路径
        ssl_certificate /etc/nginx/ssl/example.com.pem;
        #填写证书私钥文件绝对路径
        ssl_certificate_key /etc/nginx/ssl/example.com.key;
    
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;
        
        #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
        #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        #表示优先使用服务端加密套件。默认开启
        ssl_prefer_server_ciphers on;
    
        # Proxy Settings (If you are using a backend service)
        location / {
            proxy_pass http://127.0.0.1:8080;  # 此处端口需替换
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            # WebSocket Support (Optional)
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
    }
EOF
  1. 重启Nginx。
sudo systemctl restart nginx
  1. 验证HTTPS生效。通过域名访问https://your-domain确认是否能够访问Open WebUI服务。
相关文章
|
6月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
6月前
|
存储 数据挖掘 Linux
服务器数据恢复—重装系统导致OceanStor存储上的分区无法访问的数据恢复案例
服务器存储数据恢复环境: 华为OceanStor某型号存储+扩展盘柜,存储中的硬盘组建了raid5磁盘阵列,上层分配了1个lun。 linux操作系统,划分了两个分区,分区一通过lvm扩容,分区二为xfs文件系统。 服务器存储故障: 工作人员重装系统操作失误导致磁盘分区变化,分区二无法访问,数据丢失。
|
10月前
|
安全 应用服务中间件 网络安全
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
本文详细介绍了基于雷池WAF的网站防护部署全流程,涵盖服务器与域名准备、WAF安装配置、网站接入设置及静态文件站点搭建等内容。通过最低1核CPU/1GB内存的服务器配置,完成Docker环境搭建、雷池一键安装及端口设置,实现域名解析、SSL证书配置和防护策略优化。同时支持301重定向与HTTP到HTTPS自动跳转,确保访问安全与规范。最后还提供了使用静态文件搭建网站的方法,帮助用户快速构建具备基础WAF防护能力的网站系统。
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
|
11月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
787 28
|
数据采集 SQL 弹性计算
使用云服务器ECS部署了自己的第一个爬虫
云服务器部署爬虫爬取网站最新通告并推送
使用云服务器ECS部署了自己的第一个爬虫
|
5月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
444 10
|
5月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。
|
5月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
602 8

热门文章

最新文章

相关产品

  • 云服务器 ECS