背景:由于想做个测试:即IP为A的服务器,绑定完域名X后,如果再绑定域名Y,能不能被访问到。(假设对A不做绑定域名的设置)
这个问题的来源,见上一篇文章:《云服务器被非法域名恶意指向(域名解析配置》答案当然是肯定的,但是如果在A里安装X的证书后呢?还能在访问Y的时候被访问吗?
实践出真知,因此,找了服务器,安装了nginx,并手动安装了证书。
由于日常工作中用到的次数比较少,所以记录一下过程,以备后面所需
做这个实验时,也查了些材料,但是发现网上的材料太复杂了,我只是想轻量验证,所以记录一下吧,给也有同样需求的人参考一下,少走弯路。
文章目录
- 一、安装系统镜像
- 二、安装nginx,并验证
- 三、腾讯云上,针对自己域名做个证书,免费
- 四、上传证书,修改配置文件
- 1. 确认配置文件位置
- 2. 上传证书文件
- 3. 修改配置文件
- 4. 重启服务,大功告成
- 猜一下,上面说的绑定另一个域名,可以访问成功吗?
一、安装系统镜像
Ubuntu Server 24.04 LTS 64bit
二、安装nginx,并验证
网上给的步骤很多,但我只用到了
sudo apt update
sudo apt install nginx
可以查看状态
sudo systemctl status nginx
或浏览器访问验证
三、腾讯云上,针对自己域名做个证书,免费
这部分都是控制台操作,略过了。
下载证书的nginx版本,一个压缩包,拿到crt和key文件。
四、上传证书,修改配置文件
1. 确认配置文件位置
通过下命的命令,可以看到配置文件的位置
sudo nginx -t
如下图所示,文件是: /etc/nginx/nginx.conf
2. 上传证书文件
上传上面的crt和key文件,到 /etc/nginx上当下
3. 修改配置文件
就这个过程,我搜材料时,看到了怎么配,但却不知道配在哪,很是着急,后来综合多个文章,终于摸索出来了。
先明确自己的版本:
sudo nginx -v
我的是1.34.0
然后打开配置文件:
vim /etc/nginx/nginx.conf
在http模块里,加入这段
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name xxxxx.com;
#请填写证书文件的相对路径或绝对路径
ssl_certificate xxxxx_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key xxxxx.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html;
index index.html index.htm;
}
}
如下图所示:
4. 重启服务,大功告成
sudo nginx -s reload