目录 前言 一、https是什么? 二、部署步骤 1.下载SSL证书 2.上传文件 3.解压文件 4.在nginx.conf配置文件中,修改https服务 5.修改hosts文件 6.http跳转到https中 三、注意事项 前言 WEB
目录
WEB服务器一般指网站服务器,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。最主流的三个Web服务器是Apache、 Nginx 、IIS。本文主要介绍nginx中部署https服务的具体流程,也是搭建web的开端与主要步骤之一。
Https英文全称是hypertext transfer protocol secure,是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性。可以有效防止数据窃听与截获泄密,保障网络的安全。https的加密过程需要用到公钥、私钥,流程如下:
在云服务器(阿里云、腾讯云等)上为所购买的域名申请SSL证书,根据服务器的类型点击下载,因此本文选择nginx服务器。本文个人域名以cdn.xxx.xyz为例。
将下载好的证书压缩包通过xftp上传到nginx安装目录的conf下。此处一定记得要指定目录。 此时可以在conf目录下查看到上传的文件。
[root@lianyu conf]pwd/usr/local/scnginx99/conf[root@lianyu conf]lscdn.xxx.xyz_nginx.zip fastcgi.conf.default fastcgi_params.default koi-utf mime.types nginx.conf nginx.conf.default scgi_params.default uwsgi_params.defaultfastcgi.conf fastcgi_params htpasswd koi-win mime.types.default nginx.conf~ scgi_params uwsgi_params win-utf
输入unzip命令对文件进行解压会看到以 .key (私钥)与 .pem(公钥) 结尾的两个文件
[root@lianyu conf] unzip cdn.xxx.xyz_nginx.zip ArcHive: cdn.xxx.xyz_nginx.zip inflating: cdn.xxx.xyz_nginx/cdn.xxx.xyz_bundle.pem #公钥 inflating: cdn.xxx.xyz_nginx/cdn.xxx.xyz.key #私钥
若显示未找到命令,则需要安装解压软件后,再进行解压操作
[root@lianyu conf] yum install unzip -y
在nginx的编译安装中应在配置项,添加--with-http_ssl_module,启用该模块nginx.conf的配置文件中才会展示https服务的部分。安装的具体操作步骤可见上一条博客。
在nginx安装目录下的conf文件中编辑nginx.conf文件,修改https的配置,在该模块中更改具体的域名,公钥,私钥,其他代码行保持默认并取消注释。将server_name 修改成证书绑定的域名,ssl_certificate 修改成证书解压后得到的 .pem 文件 ,将ssl_certificate_key 修改成解压后得到的 .key 文件,其他代码保持默认。
server { listen 443 ssl; server_name cdn.xxx.xyz; #证书绑定的域名 ssl_certificate cdn.xxx.xyz_nginx/cdn.xxx.xyz_bundle.pem ; #解压文件后对应的公钥 ssl_certificate_key cdn.xxx.xyz_nginx/cdn.xxx.xyz.key ; #解压文件后对应的私钥 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
修改保存后检查配置语法的正确性以及更新配置文件
[root@lianyu conf] nginx -tnginx: the configuration file /usr/local/scnginx99/conf/nginx.conf syntax is oknginx: configuration file /usr/local/scnginx99/conf/nginx.conf test is successful[root@lianyu conf] nginx -s reload
hosts文件路径:C:\windows\System32\drivers\etc
在hosts文件中添加ip与域名
如:192.168.81.128 cdn.xxx.xyz
在windows的cmd中使用ping命令验证hosts文件是否修改成功
C:\Users\钰儿yu>ping cdn.xxx.xyz
正在 Ping cdn.xxx.xyz [192.168.81.128] 具有 32 字节的数据:
来自 192.168.81.128 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.81.128 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.81.128 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.81.128 的回复: 字节=32 时间<1ms TTL=64
若显示ip地址为本人的私网ip而不是公网ip,则表示修改hosts文件步骤成功。
为保证无论是访问80端口还是443端口都能成功访问至https协议的安全网站中,可在http中的server里另外加入一段永久重定向的代码。
server { listen 80; server_name cdn.xxx.xyz; return 301 https://cdn.xxx.xyz; }
以上就是今天要讲的内容,本文详细介绍了在nginx服务器中部署https的详细步骤,根据本人操作,提出几个容易忽视的错误:
在上传文件时,需要注意将文件上传至nginx下载目录的conf中。
修改配置文件后,通过nginx -t检查语法错误,若出现以下报错,考虑在配置文件中是否多打或少打花括号 {
[root@lianyu conf]# nginx -tnginx: [emerg] cannot load certificate "/usr/local/scnginx99/conf/cdn.xxx.xyz_bundle.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/usr/local/scnginx99/conf/cdn.xxx.xyz_bundle.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)nginx: configuration file /usr/local/scnginx99/conf/nginx.conf test failed
来源地址:https://blog.csdn.net/yuer1228/article/details/128910514
--结束END--
本文标题: 在nginx中部署https服务,详细步骤
本文链接: https://lsjlt.com/news/384910.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0