【服务器】使用域名解析服务器的IP地址并配置SSL证书

简介: 【服务器】使用域名解析服务器的IP地址并配置SSL证书



🌺【服务器】使用域名访问服务器的IP地址

【前提】服务器设置端口

操作步骤:

  1. 查看IP地址
  2. 点击管理-->查看账号+密码
  3. 比如:设置端口-->安全组-->添加规则-->tcp+1002【端口号根据自己的需要进行设置】

1. 查看IP地址:端口

2. 管理面板:查看账号+密码

3. 设置端口


🌻1. 域名解析服务器IP

【域名解析】如何将域名指向对应服务器IP-CSDN博客


🌼2. 绑定域名方式一:常用

🌷2.1 阿里云领取免费SSL证书

注意:该方式需要手动修改nginx配置文件

1. 打开阿里云->搜索数字证书管理服务->购买SSL免费证书

2. 创建SSL免费证书

3. 域名添加解析【在阿里云购买的域名会自动添加DNS解析】->创建证书文件夹,将Nginx下载到文件夹中,解压即可。

1. 打开阿里云->搜索数字证书管理服务->购买SSL免费证书

购买SSL免费证书

2. 创建SSL免费证书

3. 域名添加解析【在阿里云购买的域名会自动添加DNS解析】,其他网站购买的域名需要手动添加下域名解析【添加主机记录、记录类型、记录值】


创建证书文件夹,将Nginx下载到文件夹中,解压即可。


🌷2.2 修改Nginx配置文件

(1)打开Xftp和Xshell 7

打开Xftp和Xshell 7,【服务器】Xshell与Xftp软件的使用指南-CSDN博客


(2)Xshell 7安装Nginx环境

以下是在linux系统中安装Nginx的步骤:

查看服务器属于哪个操作系统

cat /etc/os-release

安装 yum 如果你确定你的系统应该支持 yum,但它没有安装,你可以尝试安装它。使用以下命令:

sudo dnf install yum

①:更新系统软件包

centos:

sudo yum update

ubuntu:

sudo apt update

②:安装EPEL存储库

centos:

sudo yum install epel-release

ubuntu略过这步

③:安装Nginx

centos:

sudo yum install nginx

ubuntu:

sudo apt install nginx

④:启动Nginx服务

sudo systemctl start nginx

⑤:设置Nginx服务自启动:

sudo systemctl enable nginx

⑥:验证Nginx是否运行:

sudo systemctl status nginx

如果一切正常,输出应该是“Active: active (running)”或者类似的信息。

⑦:安装vim编辑器:

centos:

yum install vim

ubuntu:

apt install vim

打开Xftp,连接进入找到nginx并进入,将下载的两个ssl文件copy进去。


🍀a.【nginx.conf配置文件】

⑧:修改nginx.conf配置文件

#进入nginx 
cd /etc/nginx/

查看里面有没有nginx.conf文件

ls

⑧:编辑nginx.conf配置文件

centos:

vim nginx.conf

ubuntu:

cd /etc/nginx/sites-available/your文件

替换代码 按键盘上的a,进入编辑模式

a

用键盘上的↑↓← →键移动光标!

 

将上图红框里的代码删掉,换成下面的代码

请将域名换成你们自己的域名,SSL证书也换成你们自己的

proxy_buffering off; 
upstream chatgpt-web {
    server 127.0.0.1:1002 weight=1;# 1002是端口号
}
server {
  listen 80;
  server_name www.替换的域名 替换的域名;
  return 301 https://www.域名$request_uri;
  # 上面的return语句和下面的location语句二选一即可
  #location / {
  #  rewrite ^(.*)$ https://www.替换的域名; 
  #}
}
server {
  listen 443 ssl;
  server_name www.替换的域名;
  ssl_certificate /etc/nginx/替换的SSL证书.pem;
  ssl_certificate_key /etc/nginx/替换的SSL证书秘钥.key;
  location / {
    proxy_pass http://chatgpt-web;
  }     
}

源码分析:

让我们逐行分析这段Nginx配置文件:

  1. proxy_buffering off;关闭代理缓冲,即禁用对上游服务器响应的缓冲。
  2. upstream chatgpt-web { ... }: 定义一个名为 chatgpt-web 的上游服务器,指向本地IP为 127.0.0.1,端口为 1002。weight=1 表示权重为1,即该服务器被选中的概率为1。
  3. server { ... }: 第一个server块,监听端口 80(HTTP请求):
  • server_name www.替换的域名 替换的域名;: 指定服务器名,这里似乎有一处错误,应该替换为实际的域名。
  • return 301 https://www.sarpro.cn$request_uri;: 所有HTTP请求都将被重定向到相同的URL,但使用 HTTPS 协议。下面注释的部分是另一种实现重定向的方式,通过 rewrite 语句。
  1. server { ... }: 第二个server块,监听端口 443(HTTPS请求):
  • server_name www.替换的域名;: 指定服务器名,同样应该替换为实际的域名。
  • ssl_certificatessl_certificate_key: 分别指定 SSL 证书和私钥的路径。
  • location / { ... }: 针对所有请求的位置块,通过 proxy_pass 将请求代理到之前定义的上游服务器 chatgpt-web

总体而言,这个配置文件的目标是将所有对 www.sarpro.cn 的请求通过 HTTPS 代理到本地的 1002 端口上游服务器。

上述可替换语句的区别

rewrite ^(.*)$ https://www.sarpro.cn;return 301 https://www.sarpro.cn$request_uri; 这两个语句在Nginx配置中执行的是重定向,但它们的行为略有不同:

rewrite ^(.*)$ https://www.sarpro.cn;
return 301 https://www.sarpro.cn$request_uri;
  • 这个语句使用return指令执行一个永久性(301)重定向,并保留了原始请求的路径信息。$ request_uri是Nginx变量,它包含了原始请求中的URI(路径和查询字符串)。因此,这个语句会将请求重定向到 https://www.sarpro.cn,但保留了原始请求中的路径信息。例如,http://sarpro.cn/some/path 会被重定向为 https://www.sarpro.cn/some/path

鼠标中间粘贴 修改完,按ESC键保存并退出编辑模式

然后输入命令,敲回车

:wq!

检查

nginx -t

出现这个即成功

执行这个脚本

systemctl start nginx
systemctl status nginx

当出现active (running)… 即说明安装成功

然后再执行这条命令(视频没讲,这是新加进去的,必须要输入这个条命令在输入下面的命令)

systemctl enable docker

如果不想后续网站打不开,就一定要执行这条命令

再输入

systemctl restart nginx

即可


🍀b. 【不同路径映射不同端口】

要将不同的路径分别映射到不同的端口,比如:将sarpro.cn/chat1连接到当前服务器的1002端口,将sarpro.cn/chat2连接到当前服务器的2023端口

可以在Nginx配置文件中使用location块和proxy_pass指令。以下是一个示例配置:

proxy_buffering off;
upstream chatgpt-web-1002 {
    server 127.0.0.1:1002 weight=1; #修改成自己的端口
}
upstream chatgpt-web-2023 {
    server 127.0.0.1:2023 weight=1;
}
server {
    listen 80;
    server_name www.域名 域名;
    location / {  #必须要有,否则跳转不了
        proxy_pass http://chatgpt-web-1002/; #末尾的/有时候必须要有
    }
    location /chat1{
        proxy_pass http://chatgpt-web-1002/;
    }
    location /chat2 {
        proxy_pass http://chatgpt-web-2023/;
    }
    return 301 https://www.sarpro.cn$request_uri;
}
server {
    listen 443 ssl;
    server_name 域名;
    ssl_certificate /etc/nginx/XXX.pem; #修改成自己的SSL证书下载的nginx
    ssl_certificate_key /etc/nginx/XXX.key; #修改成自己的SSL证书下载的nginx
    location / {
        proxy_pass http://chatgpt-web-1002/;
    }
    location /chat1 {
        proxy_pass http://chatgpt-web-1002/;
    }
    location /chat2 {
        proxy_pass http://chatgpt-web-2023/;
    }
}

源码分析

以下是对你提供的Nginx配置的逐行详细分析:

  1. proxy_buffering off;: 关闭代理缓冲,确保实时性,不缓冲代理的响应。
  2. upstream chatgpt-web { ... }: 定义一个名为 chatgpt-web 的上游服务器块,指定了一个服务器 127.0.0.1:1002,并设置了权重为1。
  3. upstream chatgpt-web-2023 { ... }: 定义另一个名为 chatgpt-web-2023 的上游服务器块,指定了服务器 127.0.0.1:2023,并同样设置了权重为1。
  4. server { ... }块(监听端口80,即HTTP请求):
  • listen 80;: 监听端口80,处理HTTP请求。
  • server_name www.sarpro.cn sarpro.cn;: 指定了两个服务器名,分别是带有www前缀和没有www前缀的域名。
  • location /chat1 { ... }location /chat2 { ... }: 分别定义了两个位置块,将请求路径为 /chat1 的请求代理到 chatgpt-web 上游服务器,将路径为 /chat2 的请求代理到 chatgpt-web-2023 上游服务器。
  • return 301 https://$host$request_uri;: 对于所有其他请求,执行301重定向到相同的URL,但使用HTTPS协议。
  1. server { ... }块(监听端口443,即HTTPS请求):
  • listen 443 ssl;: 监听端口443,处理HTTPS请求。
  • server_name www.sarpro.cn;: 指定了服务器名,确保只有带有www前缀的域名能够使用HTTPS访问。
  • ssl_certificatessl_certificate_key: 分别指定SSL证书和私钥的路径。
  • location /chat1 { ... }location /chat2 { ... }: 同样定义了两个位置块,将请求路径为 /chat1 的请求代理到 chatgpt-web 上游服务器,将路径为 /chat2 的请求代理到 chatgpt-web-2023 上游服务器。

总体而言,这个配置用于将不同路径的请求代理到不同的上游服务器,并在端口80上执行HTTP到HTTPS的重定向。确保你替换SSL证书和私钥的路径,并确保上游服务器正常运行,即 127.0.0.1:1002127.0.0.1:2023

  1. 代码段一:
    location / { proxy_pass http://chatgpt-web; }
    这个代码段配置了一个反向代理,将所有 / 路径的请求代理到名为 chatgpt-web 的上游服务器。这意味着Nginx会将这些请求传递给 chatgpt-web,并将响应返回给客户端。这通常用于将请求转发到后端应用程序服务器。
  2. 代码段二:
    location / { return 301 https://www.sarpro.cn$request_uri; }
    这个代码段配置了一个HTTP 301永久重定向,将所有 / 路径的请求重定向到 https://www.sarpro.cn。这意味着所有请求都将被重定向到指定的URL,客户端将在浏览器中看到301状态码,并从新的URL获取响应。

总体而言,这两段代码的目的完全不同。第一段用于反向代理请求,而第二段用于执行重定向操作。选择使用哪一个取决于你的需求和目标。

重新加载Nginx配置:

检查

nginx -t

出现这个即成功

执行这个脚本

systemctl start nginx
systemctl status nginx

当出现active (running)… 即说明安装成功

然后再执行这条命令(视频没讲,这是新加进去的,必须要输入这个条命令在输入下面的命令)

systemctl enable docker

如果不想后续网站打不开,就一定要执行这条命令

再输入

systemctl restart nginx

即可


🌼2. 绑定域名方式二:宝塔面板

【仅适合使用Docker搭建的网站】

先购买一个域名见章节1.2

🌷2.1 登录宝塔面板绑定域名

【登录宝塔面板】->网站->添加站点

按照红框内容输入自己的域名

设置->配置文件->删除红框内容

红框内容为:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null;
    }

红框删除后加入下面代码,修改成自己的网站占用端口号->点击保存

location / { 
  proxy_pass http://127.0.0.1:端口号;
  proxy_connect_timeout 12000s;
  proxy_read_timeout 12000s;
  proxy_send_timeout 12000s;
  proxy_buffering off;
}

后续登录主机的域名即可访问成功!

【错误记录】

上述步骤没问题则略过

解决方案:点击修复完,刷新页面即可。


🌷2.2 宝塔面板领取免费SSL证书

提示,虽然显示SSL证书到期88天,但是它会自动续签

目录
打赏
0
1
0
0
41
分享
相关文章
阿里云服务器ECS镜像知识解析:功能特性、场景及上手实操教程参考
对于部分初次选择阿里云服务器的新手用户来说,可能并不是很清楚阿里云服务器镜像是什么?ECS镜像堪称搭建ECS实例的基础模板,其中涵盖了启动及运行实例所必需的操作系统以及预先配置好的数据。本文将围绕阿里云服务器镜像的相关知识展开介绍,助力大家全方位了解并熟练运用这一强大功能。
阿里云服务器ESSD云盘解析:性能、计费与适用场景介绍
阿里云服务器ESSD(Enterprise SSD)云盘深度融合了25 GE(千兆以太网)网络与RDMA(Remote Direct Memory Access,远程直接内存访问)技术。凭借这一先进的技术组合,它能够为单个云盘赋予高达100万的随机读写性能,同时实现单路情况下的低时延特性。本文将围绕阿里云服务器ESSD云盘展开全面且深入的介绍,涵盖其规格参数、计费模式、适用应用场景、对NVMe协议的支持情况、容量范围与性能级别之间的关联,以及不同实例规格下的存储I/O性能表现等多个方面,旨在助力读者全方位、深入地了解这一卓越的云盘产品。
阿里云服务器ESSD Entry和ESSD等云盘解析:区别、应用场景与选择参考
阿里云服务器提供了包括ESSD Entry、ESSD、SSD云盘、高效云盘等丰富多样的云盘类型,以满足不同用户在不同业务场景下的需求。每种云盘都有其独特的性能特点和适用场景,为了帮助用户更好地理解和选择云盘,本文将详细解析阿里云服务器各个云盘的定义、区别、选择参考以及常见问题。让大家对阿里云服务器不同云盘的性能和适用场景有更全面的了解,尤其是ESSD Entry云盘和ESSD云盘,并能够根据自己的需求做出最适合自己的选择。
阿里云服务器配置与云盘容量选择参考:实例规格、云盘等相关配置选择解析
对于初次接触云服务器的用户来说,面对众多配置选项和云盘容量选择,可能会不知道如何选择。有些用户甚至不清楚云服务器应该购买多大容量的云盘,也不知道哪一款配置的云服务器更适合自己的业务。本文将详细探讨这两个问题,并结合阿里云服务器的特点,为您提供一份云服务器配置与云盘容量选择指南,以供了解和选择参考。
阿里云服务器自定义、快速、活动、云市场镜像四种主流方式解析与选择参考
阿里云服务器如何购买?目前主要的购买方式有自定义购买、快速购买、通过活动购买、通过云市场镜像页面购买这四种购买方式。然而,面对阿里云服务器多样化的购买方式和配置选项,许多用户可能会感到迷茫,不知道该如何选择最适合自己的购买途径。本文将详细解析阿里云服务器的四种主流购买方式的适用场景及购买流程,以供大家了解他们之间的区别及选择参考。
160 58
阿里云九代云服务器c9i/g9i/r9i实例性能、适用场景解析及活动价格参考
阿里云九代云服务器c9i、g9i、r9i实例是其最新推出的高性能企业级云服务器,凭借其卓越的性能和丰富的功能,广泛应用于机器学习推理、数据分析、高网络包收发等众多场景。接下来,我们将深入探讨这三款实例的性能、适用场景以及价格等方面的详细信息。
147 15
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
本文详细介绍了基于雷池WAF的网站防护部署全流程,涵盖服务器与域名准备、WAF安装配置、网站接入设置及静态文件站点搭建等内容。通过最低1核CPU/1GB内存的服务器配置,完成Docker环境搭建、雷池一键安装及端口设置,实现域名解析、SSL证书配置和防护策略优化。同时支持301重定向与HTTP到HTTPS自动跳转,确保访问安全与规范。最后还提供了使用静态文件搭建网站的方法,帮助用户快速构建具备基础WAF防护能力的网站系统。
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
阿里云服务器通用型实例解析:g7/g8a/g8y/g8i性能对比与场景化选型参考
在阿里云服务器的通用型实例规格中,通用型g7、通用型g8a、通用型g8y和通用型g8i,凭借其强大的性能和灵活的配置,成为了众多企业和开发者的首选。这几个实例规格相比经济型e和通用算力型u1等实例规格,性能更为强劲,尽管它们的处理器与内存配比通常为1:4,但在处理器架构、存储能力、网络性能及安全特性等方面各有千秋,因此适用场景也各有侧重。以下是对通用型g7、g8a、g8y、g8i实例的详细性能对比、适用场景分析及选择建议。
SSL证书验证全攻略:DNS/HTTP/手动解析怎么选?
SSL证书在网络安全中至关重要,1Panel提供三种验证方式:DNS验证、HTTP验证和手动解析。DNS验证便捷,适合CDN网站;HTTP验证快速,需服务器在线;手动解析灵活,但操作复杂。根据需求选择合适确认方式,定期检查证书状态。
382 2

热门文章

最新文章

推荐镜像

更多
  • DNS
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等

    登录插画

    登录以查看您的控制台资源

    管理云资源
    状态一览
    快捷访问