设置中安装证书

设置中安装证书,第1张

Nginx下配置Https证书详细过程

本文详细介绍了在Nginx下配置Https证书的全过程。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

一、Http和Https的区别

HTTP:是互联网技术中广泛使用的一种互联网协议。它是手机客户端和服务器请求和回复的规范(TCP)。它是一种传输协议,用于将HTML文件从WWW网络服务器传输到本地计算机浏览器。可以让电脑浏览器更高效,减少数据传输。

HTTPS是一个以安全为总体目标的HTTP安全通道。简单来说就是HTTP的安全版本,就是在HTTP下面加了一层SSL。HTTPS的安全基本上是SSL,所以数据加密的详细内容一定是SSL。HTTPS的关键功能可以分为两种:一种是为网络信息创建安全通道,保证数据传输的安全;另一个是确定网站的真实性和有效性。

HTTPS和HTTP的主要区别如下:

1.https协议必须到ca申请证书。一般完全免费的证书很少,所以肯定是要花点钱的。

2.http是HTML文件传输协议,信息内容是密文传输,https是带安全因子的ssl加密传输协议。

3.http和https使用完全不同的接口方法和不同的端口号。前者80,后者443。

4.http连接非常简单,无状态;HttpS是由SSLHTTP协议构建的互联网协议,可以加密数据和认证身份。它比HTTP协议更安全。

二。应用openssl形成证书

Openssl是目前最流行的ssl密码库专用工具,为SSL/TLS协议的完成展现了一个通用、健壮、完善的专用工具模块。

例如到:/usr/local/ssl

opensslreq-x509-nodes-days36500-newkeyrsa:2048-keyout/usr/local/ssl/nginx.key-out/usr/local/ssl/nginx.crt

整个形成过程:

#opensslreq-x509-nodes-days36500-newkeyrsa:2048-keyout/usr/local/ssl/nginx.key-out/usr/local/ssl/nginx.crt Generatinga2048bitRSAprivatekey ............................................................................... ............... writingnewprivatekeyto'/usr/local/ssl/nginx.key' ----- Youareabouttobeaskedtoenterinformationthatwillbeincorporated intoyourcertificaterequest. WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN. Therearequiteafewfieldsbutyoucanleavesomeblank Forsomefieldstherewillbeadefaultvalue, Ifyouenter'.',thefieldwillbeleftblank. ----- CountryName(2lettercode)[XX]:CN StateorProvinceName(fullname)[]:beijing LocalityName(eg,city)[DefaultCity]:beijing OrganizationName(eg,company)[DefaultCompanyLtd]:xxxx OrganizationalUnitName(eg,section)[]:xxxx CommonName(eg,yournameoryourserver'shostname)[]:xxxx(一般是网站域名) EmailAddress[]:xxxx@xxxx.com #ll total8 -rw-r--r--.1rootroot1391Apr2113:29nginx.crt -rw-r--r--.1rootroot1704Apr2113:29nginx.key

三。Nginx安装http_ssl_module控制模块

Nginx如果SSL控制模块没有开启,配置Https时提醒不正确。

nginx:[emerg]"SSL"参数需要/usr/local/nginx/conf/nginx.conf:XXX中的ngx_http_ssl_module

Nginx缺少http_ssl_module控制模块,所以在安装编译器时携带-with-HTTP_SSL_Module配置就足够了。

在这个场景中,网络服务器已经安装了nginx,但是没有安装http_ssl_module。

1.转到源代码包,例如:

cd/app/download/nginx-1.12.2

2.配置:

./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module #很有可能必须的依赖包 yum-yinstallpcre-developensslopenssl-devel

3.制造:

make

4.makeinstall是不必要的,否则它会覆盖安装。

5.备份数据的原始nginx,例如:

cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx_bak

6.然后在编译完程序nginx(nginx必须终止)后把原来的nginx掩盖掉

cp./objs/nginx/usr/local/nginx/sbin/

7.检查安装状态:

/usr/local/nginx/sbin/nginx-V nginxversion:nginx/1.12.2 builtbygcc4.8.520150623(RedHat4.8.5-16)(GCC) builtwithOpenSSL1.0.2m-fips26Jan2017 TLSSNIsupportenabled configurearguments:--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module

四。nginx配置https

粘贴部分配置信息内容:

server{ listen80; server_namewww.yourdomain.com; rewrite^(.*)https://$server_name$1permanent;#http自动跳转https } server{ listen443ssl; server_namewww.yourdomain.com; ssl_certificate/usr/local/ssl/nginx.crt; ssl_certificate_key/usr/local/ssl/nginx.key; ssl_session_cacheshared:SSL:1米; ssl_session_timeout5m; #禁止在header中出現网络服务器版本,避免网络黑客运用版本系统漏洞进攻 server_tokensoff; #如果是整站HTTPS而且不考虑到HTTP得话,能够添加HSTS对你说的电脑浏览器本站整站数据加密,而且强制性用HTTPS浏览 fastcgi_paramHTTPSon; fastcgi_paramHTTP_SCHEMEhttps; access_log/usr/local/nginx/logs/httpsaccess.log; }

先检查配置吧?

/usr/local/nginx/sbin/nginx-t nginx:theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisok nginx:configurationfile/usr/local/nginx/conf/nginx.conftestissuccessful

重启nginx:

/usr/local/nginx/sbin/nginx-sreload

浏览:

至此,这篇关于在Nginx下配置Https证书的全过程的文章已经在这里详细介绍过了。有关在Nginx下配置Https证书的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存