Nginx配置HTTPS证书网站

news/2024/5/10 1:19:36/文章来源:https://blog.csdn.net/weixin_30869099/article/details/96172728

前提:

    1、主机需要先安装openssl

    2、编译安装nginx时,要加上--with-http_ssl_module  这个ssl模块

现在开始配置:(我当时配置时,主机已安装了openssl,但编译时没有加载http_ssl_module模块,所以后面会报错,这里详解说明下)

1、生成自签字证书

复制代码
 1 [root@localhost /]# openssl req -new -x509 -keyout /root/ca.key -out /root/ca.crt2 Generating a 2048 bit RSA private key3 .............................+++4 .......................................................................................................................+++5 writing new private key to '/root/ca.key'6 Enter PEM pass phrase:           #输入密钥保护密码7 Verifying - Enter PEM pass phrase:       #确认密钥保护密码8 -----9 You are about to be asked to enter information that will be incorporated
10 into your certificate request.
11 What you are about to enter is what is called a Distinguished Name or a DN.
12 There are quite a few fields but you can leave some blank
13 For some fields there will be a default value,
14 If you enter '.', the field will be left blank.
15 -----
16 Country Name (2 letter code) [XX]:CN
17 State or Province Name (full name) []:xian
18 Locality Name (eg, city) [Default City]:xian
19 Organization Name (eg, company) [Default Company Ltd]:learn
20 Organizational Unit Name (eg, section) []:it
21 Common Name (eg, your name or your server's hostname) []:learner
22 Email Address []:ying@126.com
复制代码

回车结束

2、修改配置文件openssl.cnf (注意:修改前,先备份下)

复制代码
[root@localhost /]# vi /etc/pki/tls/openssl.cnf####################################################################
[ ca ]
default_ca      = CA_default            # The default ca section####################################################################
[ CA_default ]dir             = /etc/pki/CA           # Where everything is kept #证书的根目录,要记住这个目录
certs           = $dir/certs            # Where the issued certs are kept
crl_dir         = $dir/crl              # Where the issued crl are kept
database        = $dir/index.txt        # database index file.
#unique_subject = no                    # Set to 'no' to allow creation of# several ctificates with same subject.
new_certs_dir   = $dir/newcerts         # default place for new certs.certificate     = $dir/ca.crt           # The CA certificate  # 修改这里,表示签名时使用的证书 
serial          = $dir/serial           # The current serial number
crlnumber       = $dir/crlnumber        # the current crl number# must be commented out to leave a V1 CRL
crl             = $dir/crl.pem          # The current CRL
private_key     = $dir/private/cakey.pem# The private key
RANDFILE        = $dir/private/.rand    # private random number file
复制代码

3、复制证书到证书根目录/etc/pki/CA下,并在该目录下创建空文件index.txt和serial,并向serial输入”01“

复制代码
1 [root@localhost ~]# cd /etc/pki/CA/
2 [root@localhost CA]# cp /root/ca.crt .
3 [root@localhost CA]# ls
4 ca.crt  certs  crl  newcerts  private
5 [root@localhost CA]# touch index.txt
6 [root@localhost CA]# touch serial
7 [root@localhost CA]# echo "01" >serial
复制代码

4、生成服务器RSA私钥/root/server.key

复制代码
1 [root@localhost ~]# openssl genrsa -des3 -out /root/server.key 1024
2 Generating RSA private key, 1024 bit long modulus
3 .............++++++
4 .++++++
5 e is 65537 (0x10001)
6 Enter pass phrase for /root/server.key: #设置此密钥的保护密码
7 Verifying - Enter pass phrase for /root/server.key: #确认设置此密钥的保护密码
复制代码

5、为私钥去除口令---公钥

1 [root@localhost ~]# openssl rsa -in /root/server.key -out /root/server_nopwd.key
2 Enter pass phrase for /root/server.key: #输入第4步生成的密钥的保护密码 
3 writing RSA key

6、生成证书请求文件/root/server.csr

复制代码
 1 [root@localhost ~]# openssl req -new -key /root/server.key -out /root/server.csr2 Enter pass phrase for /root/server.key:  #输入第4步生成的密钥的保护密码 3 You are about to be asked to enter information that will be incorporated4 into your certificate request.5 What you are about to enter is what is called a Distinguished Name or a DN.6 There are quite a few fields but you can leave some blank7 For some fields there will be a default value,8 If you enter '.', the field will be left blank.9 --------下面这部分应该和创建私有证书时填的一样------------------------ 
10 Country Name (2 letter code) [XX]:CN
11 State or Province Name (full name) []:xian
12 Locality Name (eg, city) [Default City]:xian
13 Organization Name (eg, company) [Default Company Ltd]:learn
14 Organizational Unit Name (eg, section) []:it
15 Common Name (eg, your name or your server's hostname) []:learner
16 Email Address []:ying@126.com
17 ---------------------------------------------------------------- 
18 Please enter the following 'extra' attributes
19 to be sent with your certificate request
20 A challenge password []:111111
21 An optional company name []:learn
复制代码

7、用私有证书给证书请求文件/root/server.crt签名

复制代码
 1 [root@localhost ~]# openssl ca -in /root/server.csr -out /root/server.crt -cert /root/ca.crt -keyfile /root/ca.key -config /etc/pki/tls/openssl.cnf2 Using configuration from /etc/pki/tls/openssl.cnf3 Enter pass phrase for /root/ca.key: #输入第1步生成的密钥的保护密码4 Check that the request matches the signature5 Signature ok6 Certificate Details:7         Serial Number: 1 (0x1)8         Validity9             Not Before: Nov 17 07:47:05 2016 GMT
10             Not After : Nov 17 07:47:05 2017 GMT
11         Subject:
12             countryName               = CN
13             stateOrProvinceName       = xian
14             organizationName          = learn
15             organizationalUnitName    = it
16             commonName                = learner
17             emailAddress              = ying@126.com
18         X509v3 extensions:
19             X509v3 Basic Constraints:
20                 CA:FALSE
21             Netscape Comment:
22                 OpenSSL Generated Certificate
23             X509v3 Subject Key Identifier:
24                 8A:70:77:B0:32:42:49:AF:85:AD:79:C3:36:1F:43:A5:C5:01:15:E2
25             X509v3 Authority Key Identifier:
26                 keyid:83:10:7A:45:18:47:D2:27:F8:A0:81:C8:FE:A8:53:9A:1E:BC:D3:77
27 
28 Certificate is to be certified until Nov 17 07:47:05 2017 GMT (365 days)
29 Sign the certificate? [y/n]:y
30 
31 
32 1 out of 1 certificate requests certified, commit? [y/n]y
33 Write out database with 1 new entries
34 Data Base Updated
复制代码

8、编辑nginx配置文件/usr/local/nginx/conf/nginx.conf

复制代码
 1 server {2          listen       8001 ssl;3          server_name  x.x.x.x:8001; 4 5          ssl    on;6          ssl_certificate /root/server.crt;7          ssl_certificate_key /root/server_nopwd.key;8 9          location / {
10              root   /var/www/html;
11              index  index.html index.htm;
12          }
13     }
复制代码

9. 重启服务

1 [root@localhost sbin]# ./nginx -s reload

~~~~完成,在客户端上输入https://x.x.x.x:8001/即可访问成功。

当时由于安装nginx时,未编译http_ssl_module模块,导致nginx重启失败------提示:nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/ng.........

所以需要重新编译nginx来添加需要的模块。

 

Nginx重新编译添加模块

1. 找到安装nginx的源码根目录(即安装包存放目录),如果没有的话下载新的源码并解压

1 [root@localhost /]# cd software
2 [root@localhost software]# ls
3 nginx-1.10.2  nginx-1.10.2.tar.gz

 

2. 查看nginx版本极其编译参数

/usr/local/nginx/sbin/nginx -V

 

3. 进入nginx源码目录

1 [root@localhost software]# cd nginx-1.10.2

 

4.重新编译的代码和模块

[root@localhost nginx-1.10.2]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module

 

5.  make下 (注意:千万别make install,否则就覆盖安装了),make完之后在/software/nginx-1.10.2/objs目录下就多了个nginx,这个就是新版本的程序了

6. 备份旧的nginx程序

1 [root@localhost ~]# cd /usr/local/nginx/sbin/
2 [root@localhost sbin]# ls
3 nginx
4 [root@localhost sbin]# cp nginx nginx_back_by_zhang20161117
5 [root@localhost sbin]# ls
6 nginx  nginx_back_by_zhang20161117

7. 删除旧的nginx程序,并把新的nginx程序复制到/usr/local/nginx/sbin/下

1 [root@localhost sbin]# rm nginx
2 rm:是否删除普通文件 "nginx"?y
3 [root@localhost sbin]# cp /software/nginx-1.10.2/objs/nginx /usr/local/nginx/sbin/

8. 测试新的nginx程序是否正确

1 [root@localhost sbin]# /usr/local/nginx/sbin/nginx -t
2 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
3 nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

9. 平滑启动服务 (非必须)

1 [root@localhost sbin]# /usr/local/nginx/sbin/nginx -s reload

10. 查看模块是否已安装 (非必须)

1 [root@localhost sbin]# /usr/local/nginx/sbin/nginx -V
2 nginx version: nginx/1.10.2
3 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
4 built with OpenSSL 1.0.1e-fips 11 Feb 2013
5 TLS SNI support enabled
6 configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module

11. 重启 

1 [root@localhost sbin]# ./nginx -s quit
2 [root@localhost sbin]# ./nginx

nginx重新加载模块完成!

转载:https://www.cnblogs.com/eaglezb/p/6074811.html  稍作修改

转载于:https://www.cnblogs.com/6relation/p/7928170.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717550.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全球顶尖的移动交互设计网站集萃 转

2019独角兽企业重金招聘Python工程师标准>>> Android App Patterns http://www.android-app-patterns.com/category/grid Androidux http://androidux.com/ Uxarchive http://www.uxarchive.com/ Lovely UI http://www.lovelyui.com/ Mobile Patterns h…

PHP使用Apache 中的ab 测试网站的压力性能

打开Apache服务器的安装路径(我用的是 WampServer)在bin目录中有一个ab.exe的可执行程序它就是要介绍的压力测试工具。 在Windows系统的命令行下进入ab.exe程序所在目录执行ab.exe程序。注意直接双击无法正确运行。<喎"http://www.2cto.com/kf/ware/vc/" target&q…

网站建设过程中容易被忽略的元素

网站从建设到真正运营&#xff0c;会忽略很多元素。其实一个网站能否达到预期的效果&#xff0c;网站建设与网站优化做好的同时&#xff0c;很关键一点&#xff0c;客户自身的问题。比如我们帮企业建设网站&#xff0c;网站提供的主要服务还是掌握在客户手上。下面福建SEO谈谈网…

Android上PhoneGap打包本地网站和在线网站

谢谢刚子提供这么个社区交流平台&#xff0c;特别感谢刚子提供上传权限&#xff0c; 哈哈&#xff0c;今天也发一个简单的Demo上来上来&#xff0c;给社区贡献一点绵薄之力。最近一直关注移动web开发&#xff0c;更多看的是web开发的程序的效果&#xff0c;还没有深入的去编程或…

利用HTTP Cache来优化网站

原文地址&#xff1a; http://www.cnblogs.com/cocowool/archive/2011/08/22/2149929.html 对于网站来说&#xff0c;速度是第一位的。用户总是讨厌等待&#xff0c;面对加载的Video和页面&#xff0c;是非常糟糕的用户体验。所以如何利用Cache来优化网站&#xff0c;值得深入研…

本土视频网站盈利艰难,海外会是新掘金场吗?

6月22日&#xff0c;爱奇艺会员数量突破1亿人&#xff0c;标志着中国本土视频网站之间的竞争进一步加剧。毕竟随着互联网人口红利消失&#xff0c;未来会员增速将会放慢&#xff0c;在多元化收入难以撑起视频网站成本前&#xff0c;会员制收入将是最重要的营收之一&#xff0c;…

网站漏洞检测之WordPress 5.0.0 修复方案

2019独角兽企业重金招聘Python工程师标准>>> 2019年正月刚开始&#xff0c;WordPress最新版本存在远程代码注入获取SHELL漏洞&#xff0c;该网站漏洞影响的版本是wordpress5.0.0&#xff0c;漏洞的产生是因为image模块导致的&#xff0c;因为代码里可以进行获取目录…

关于大型网站技术演进的思考(六)--存储的瓶颈(6)

2019独角兽企业重金招聘Python工程师标准>>> 在讲数据库水平拆分时候&#xff0c;我列出了水平拆分数据库需要解决的两个难题&#xff0c;它们分别是主键的设计问题和单表查询的问题&#xff0c;主键问题前文已经做了比较详细的讲述了&#xff0c;但是第二个问题我没…

keepalived+LVS实现网站负载均衡和HA

如上图所示&#xff0c;102和103是内网nginx服务器&#xff0c;100和101是边界LB&#xff0c;clinet是1&#xff0c;这个实验是为了实现在LB上虚拟出一个VIP&#xff0c;client通过访问该VIP&#xff0c;来动态负载到两台内网nginx服务器上面来。流量的来回&#xff0c;都需要经…

大型网站的HTTPS实践一:HTTPS协议和原理一

1 前言百度已经于近日上线了全站 HTTPS 的安全搜索&#xff0c;默认会将 HTTP 请求跳转成 HTTPS。本文重点介绍 HTTPS 协议, 并简单介绍部署全站 HTTPS 的意义。2 HTTPS 协议概述HTTPS 可以认为是 HTTP TLS。HTTP 协议大家耳熟能详了&#xff0c;目前大部分 WEB 应用和网站都是…

在github搭建个人网站

2019独角兽企业重金招聘Python工程师标准>>> 在github搭建个人网站 标签&#xff1a;github [TOC] 先搜篇中文博客了解下流程&#xff0c;再根据下面的官方文档按顺序看一遍就差不多了。 这里不得不吐槽windows太垃圾了&#xff0c;linux下三行指令解决的问题&#…

揭秘SEO快排原理

很多的SEOer每天绝大部分的时间都耗在撰写原创文章/伪原创文章以及发布软文外链&#xff0c;更换行业不相关的友链&#xff0c;年复一年&#xff0c;日复一日&#xff0c;关键词的排名依旧排在100名开外-20名以内&#xff0c;心里很是着急。看看同行竞争对手的网站&#xff0c;…

某搜索网站HR校园招聘被怼引争议,为啥危机偏爱30+人士?

豆瓣上有个热帖&#xff0c;网友去参加校园招聘会&#xff0c;某搜索网站HR表示&#xff0c;他们公司平均年龄都很年轻、很阳光&#xff0c;于是有人怼了句“那你们公司年龄大的都去哪里了&#xff1f;”&#xff0c;HR直接懵了。 是啊&#xff01;年纪大的去哪里了&#xff1f…

如何将自己的网站分享到QQ空间,微信,微博等等。

2019独角兽企业重金招聘Python工程师标准>>> 逛一些网站的时候经常会看到右侧挂个分享栏&#xff0c;让用户把自己的站分享到qq空间&#xff0c;微信等等&#xff0c;所以自己也研究了下&#xff0c;把他加到了自己的网站上&#xff0c;喜欢的可以先看看效果&#x…

草根站长这一年用血的教训换来的SEO终极算法

导读&#xff1a;标题言过其实&#xff0c;但是草根站长都有自己真实的故事。我2015年6月1日买的空间和域名&#xff0c;到现在的2016年6月1日正好1年。这篇文章主要讲我这个草根站长这一年用来血的教训换来的SEO终极算法。血的教训1、学习了半个多月网络营销&#xff0c;弃学了…

全球银行网站成黑客主攻目标 阿里云提供安全防御应急方案

2019独角兽企业重金招聘Python工程师标准>>> 近日&#xff0c;阿里云监控发现&#xff0c;匿名者&#xff08;Anonymous&#xff09;组织成员正在发起针对全球中央银行网站的攻击行动&#xff0c;截止目前&#xff0c;国内有超过2家以上的重要网站被攻击&#xff0c…

SpringCloud GateWay 相关图形,文档、网站

一 业务&#xff1a;多个微服务的应用可能部署在不同机房&#xff0c;不同地区&#xff0c;不同域名下。 二 需求&#xff1a;统一入口、路由、权限认证...... 三 解决方案&#xff1a; 1 集群与架构&#xff08;11&#xff09; &#xff08;1&#xff09;逻辑 &#xff0…

Docker相关图形,网站、文档

一 引擎 引擎&#xff08;Engine&#xff09;是电子平台上开发程序或系统的核心组件。 一般而言&#xff0c;引擎是一个程序或一套系统的支持部分。 常见的程序引擎有游戏引擎、搜索引擎、杀毒引擎等。 游戏引擎&#xff1a;就是“用于控制所有游戏功能的主程序“。搜索引擎&a…

PHP搭建网站登录页面(一个iOS开发者的PHP之路)

前言 最近几年各个技术论坛流传着一句话&#xff1a;未来是全栈程序员的世界&#xff01;程序员作为社会的一门职业&#xff0c;越来越多的人加入这个行业&#xff0c;在这个行业内分工很明晰的情况下&#xff0c;越来越多的程序员开始不安分追求一门编程语言&#xff0c;开始在…

网站分析参数(实例分析)SimilarWeb插件参数

网站分析参数&#xff08;实例分析&#xff09;SimilarWeb插件参数 那么这些指标是什么意思呢&#xff1f; SimilarWeb Rank&#xff1a;类似网站排名Global Rank&#xff1a;全球网站排名第三栏一般是类别&#xff0c;大概网站从事范围&#xff0c;比如进入知乎就是Internet a…