nginx配置SSL证书提供的https访问

2020-10-28  本文已影响0人  那钱有着落吗

基于腾讯云服务器作为实例说明

image.png
证书文件

其中nginx目录下的第一个是证书,第二个是密钥,都需要上传到云服务器才可以使用

  1. 查看nginx中是否安装SSL模块
    我们可以先排查一下nginx中是否有安装SSL模块,进入到nginx软件的目录的objs模块目录中,打开ngx_modules.c文件,搜索一下ssl,发现没有找到,那么就是没有安装ssl
  2. 在nginx中安装SSL模块
    回到nginx软件目录下,然后直接将下面代码粘贴过来即可在nginx中安装以下模块了,其中最后一行就是安装ssl的
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_ssl_module

将这些信息配置到nginx里面
然后make
之后执行make install 安装这些配置

  1. 再回到nginx中ngx_modules.c文件就可以发现SSL已经安装


    image.png

或者使用sbin目录下命令 nginx -V 也可以看到版本信息


image.png
  1. 然后在云服务器中配置nginx
    80端口代表的是http协议
    443端口代表的是https协议
    所以配置

server {
listen 443;
server_name localhost;

这里是需要贴ssl的配置信息的,这个需要从云服务提供商那里找,下面是腾讯云提供的参考

开启ssl

ssl on;

配置ssl证书

ssl_certificate ****.crt;

配置的证书的文件

ssl_certificate_key **.key;

ssl 会话cache

ssl_session_cache shared:SSL:1m;

ssl会话超时时间

ssl_session_timeout 5m;

配置加密套件,写法遵循openssl 标砖

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE_RSA-AES128-GCM-SHA256*******;
ssl_prefer_server_ciphers on;

location / {
proxy_pass http://tomcats/;
index index.html index.htm;
}
}
然后检测nginx配置,并使之生效即可

上一篇 下一篇

猜你喜欢

热点阅读