AI智能
改变未来

Nginx添加SSL证书实现https访问

1、概述

为了安全考虑,正式上线的网站或接口,都需要使用https协议进行数据传输。

IOS、安卓、微信小程序等也都只允许访问https协议的后台接口。

2、https协议的作用

1)加密传输数据,保护数据的安全

2)证明网站真实身份,防止被钓鱼网站攻击

3)提升公司形象

3、如何实现https

企业向权威的证书颁发机构申请SSL证书。

如果使用的是云服务器,直接在云服务器的官网就能方便的申请域名和SSL证书。

SSL证书支持的WEB服务器有很多,例如:Apache、IIS、Nginx、Tomcat 。

根据具体使用的WEB服务器,添加配置即可。

这里我们简单讲一下,如何将SSL证书,部署在Nginx中,实现https。

4、检查Nginx是否安装SSL模块

Nginx必须安装了SSL模块,才能支持SSL证书的配置。

1)进入到Nginx安装目录(例如:/usr/local/nginx/sbin),输入命令 # ./nginx -V,查看是否有SSL模块(http_ssl_module)

2)没有的话,进入Nginx安装包的目录(例如:/home/nginx-1.20.1),重新配置并编译安装Nginx

# ./configure \\--prefix=/usr/local/nginx \\--pid-path=/var/local/nginx/nginx.pid \\--lock-path=/var/local/nginx/nginx.lock \\--error-log-path=/var/local/nginx/error.log \\--http-log-path=/var/local/nginx/access.log \\--with-http_gzip_static_module \\--http-client-body-temp-path=/var/local/nginx/client \\--http-proxy-temp-path=/var/local/nginx/proxy \\--http-fastcgi-temp-path=/var/local/nginx/fastcgi \\--http-uwsgi-temp-path=/var/local/nginx/uwsgi \\--http-scgi-temp-path=/var/local/nginx/scgi \\--with-http_ssl_module
# make && make install

3)再次在Nginx安装目录(例如:/usr/local/nginx/sbin),输入命令 # ./nginx -V,查看是否有SSL模块(http_ssl_module)

5、配置Nginx

申请下来的SSL证书文件有两个,.crt文件 和 .key文件,例如:1_www.zhuifengren.cn_bundle.crt 和2_www.zhuifengren.cn.key。

然后在Nginx配置文件中增加如下配置,然后重新加载Ngixn即可:

  server {listen       443;server_name  www.zhuifengren.cn;ssl_certificate      1_www.zhuifengren.cn_bundle.crt;ssl_certificate_key  2_www.zhuifengren.cn.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;}}

通常证书颁发机构会附上SSL证书部署的教程,不同机构的配置方式会有些许差别,根据实际情况调整即可。

6、综述

好了,到此为止,我们的网站也支持https传输协议了。

欢迎大家多多评论交流,共同进步。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Nginx添加SSL证书实现https访问