当前位置:   article > 正文

Nginx HTTPS(证书) 部署实战_nginx 部署证书

nginx 部署证书

目录

一、申请证书与认证

1、准备域名

2、 准备云服务器

3、 准备SSL证书

二、证书下载与配置

1、准备Nginx服务 

2、证书下载

3、证书配置

4、重启nginx

5、windows本地配置域名解析

三、访问域名测试


 

一、申请证书与认证

要搭建https服务首先需有SSL证书,证书通常是在第三方申请,在阿~云的安全服务中有SSL证书这一项,可以在里面申请免费的证书。也可以在自己电脑中生成,虽然也能完成加密,但是浏览器是不认可的,因此最好还是去第三方申请。

1、准备域名

域名注册_域名查询_域名申请_域名购买_域名续费_国际域名-万网-阿里云品牌

阿里域名网站购买一个便宜的一年期限的域名使用即可。

  

2、 准备云服务器

云服务器ECS_云主机_服务器托管_计算-阿里云

本次实验是领取试用的Centos7服务器。 

然后做DNS解析添加对应记录 

3、 准备SSL证书

https://yundunnext.console.aliyun.com/?spm=5176.21213303.J_qCOwPWspKEuWcmp8qiZNQ.67.56bc2f3dNSBeOs&p=cas&accounttraceid=54d668fd6d644539a55fe13f8352d648lwea#/overview

申请个人测试使用的证书。

二、证书下载与配置

1、准备Nginx服务 

在云服务器中下载一个Nginx的web服务用来测试

yum -y install nginx

启动并设置开机自启

systemctl enable --now nginx

浏览器输入ECS云服务器公网IP

查看是否正常打开网页访问

还没有配置证书,这里显示的就是不安全的。 

2、证书下载

 

下载配置文件之后,需要将其解压,解压之后可以看见里面包含了两个证书文件  

 接着需要把这两个证书文件给复制到服务器当中去,首先需要在服务器创建对应的文件夹,参考命令如下

cd /etc/nginx/ && mkdir cert

在服务器创建完成对应文件夹之后,将证书文件复制到服务器中

  1. [root@aliyun nginx]# cd /etc/nginx/cert/
  2. [root@aliyun cert]# yum install -y unzip
  3. [root@aliyun cert]# ll
  4. total 8
  5. -rw-r--r-- 1 root root 4126 Jun 21 19:28 13759957_www.luzhengzheng.icu_nginx.zip
  6. [root@aliyun cert]# unzip 13759957_www.luzhengzheng.icu_nginx.zip
  7. Archive: 13759957_www.luzhengzheng.icu_nginx.zip
  8. Aliyun Certificate Download
  9. inflating: www.luzhengzheng.icu.pem
  10. inflating: www.luzhengzheng.icu.key
  11. [root@aliyun cert]# ll
  12. total 16
  13. -rw-r--r-- 1 root root 4126 Jun 21 19:28 13759957_www.luzhengzheng.icu_nginx.zip
  14. -rw-r--r-- 1 root root 1679 Jun 21 19:28 www.luzhengzheng.icu.key
  15. -rw-r--r-- 1 root root 3846 Jun 21 19:28 www.luzhengzheng.icu.pem

3、证书配置

证书复制完成之后,可以对nginx配置文件进行更改,使用vi或vim命令编辑nginx配置文件,参考命令如下:

  1. [root@aliyun ~]# cd /etc/nginx/
  2. #备份
  3. [root@aliyun nginx]# cp nginx.conf nginx.conf.bak
vim /etc/nginx/nginx.conf

该文件的完整代码便于复制:

  1. # For more information on configuration, see:
  2. # * Official English Documentation: http://nginx.org/en/docs/
  3. # * Official Russian Documentation: http://nginx.org/ru/docs/
  4. user nginx;
  5. worker_processes auto;
  6. error_log /var/log/nginx/error.log;
  7. pid /run/nginx.pid;
  8. # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
  9. include /usr/share/nginx/modules/*.conf;
  10. events {
  11. worker_connections 1024;
  12. }
  13. http {
  14. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  15. '$status $body_bytes_sent "$http_referer" '
  16. '"$http_user_agent" "$http_x_forwarded_for"';
  17. access_log /var/log/nginx/access.log main;
  18. sendfile on;
  19. tcp_nopush on;
  20. tcp_nodelay on;
  21. keepalive_timeout 65;
  22. types_hash_max_size 4096;
  23. include /etc/nginx/mime.types;
  24. default_type application/octet-stream;
  25. # Load modular configuration files from the /etc/nginx/conf.d directory.
  26. # See http://nginx.org/en/docs/ngx_core_module.html#include
  27. # for more information.
  28. include /etc/nginx/conf.d/*.conf;
  29. server {
  30. listen 80;
  31. listen [::]:80;
  32. server_name www.luzhengzheng.icu;
  33. root /usr/share/nginx/html;
  34. return 301 https://$host$request_uri;
  35. # Load configuration files for the default server block.
  36. include /etc/nginx/default.d/*.conf;
  37. error_page 404 /404.html;
  38. location = /404.html {
  39. }
  40. error_page 500 502 503 504 /50x.html;
  41. location = /50x.html {
  42. }
  43. }
  44. server {
  45. listen 443 ssl;
  46. server_name www.luzhengzheng.icu;
  47. access_log /var/log/nginx/https_access.log main;
  48. # 配置 SSL 证书和密钥文件
  49. ssl_certificate /etc/nginx/cert/www.luzhengzheng.icu.pem;
  50. ssl_certificate_key /etc/nginx/cert/www.luzhengzheng.icu.key;
  51. # 设置 SSL 会话的超时时间
  52. ssl_session_timeout 5m;
  53. # 启用的 SSL 协议版本
  54. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  55. # 配置 SSL 加密套件
  56. ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
  57. ssl_prefer_server_ciphers on;
  58. location / {
  59. # 配置根目录
  60. root /usr/share/nginx/html;
  61. # 设置默认首页文件
  62. index index.html index.htm;
  63. }
  64. }
  65. }

下图是更改的部分供对照参考  

4、重启nginx

 修改配置文件之后,需要测试nginx配置文件是否正确

  1. [root@aliyun nginx]# nginx -t
  2. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
  3. nginx: configuration file /etc/nginx/nginx.conf test is successful
  4. [root@aliyun nginx]# nginx -s reload

5、windows本地配置域名解析

C:\Windows\System32\drivers\etc\hosts

需要用记事本的管理员身份打开编辑

添加上对应的公网IP 和 域名

8.130.44.64 www.luzhengzheng.icu

三、访问域名测试

打开浏览器输入域名访问

注意:

       本实验试用阿~云cengos7系统,nginx版本为1.20.1  ,配置完成后,使用谷歌浏览器访问会出现失败,提示没有备案这时正常的,使用edge浏览器输入https://域名  这样去访问即可,因浏览器不同会些许造成差异。至于出现提示备案页面,和使用hhtp://域名无法访问的情况就是这个没有备案造成的,这个就不用管了,熟悉整个步骤即可,真正上线项目再备案。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号