使用nginx配置https域名证书

配置

使用https访问主域名发现无法访问
img

  1. 安装SSL模块
    要在nginx中配置https,就必须安装SSL模块,也就是:http_ssl_module
  • 进入到nginx的解压目录
    img

  • 新增SSL模块(原来的那些模块需要保留)

./configure \
--prefix=/usr/local/nginx \ 
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.local \
--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
  • 编译和安装
make
make install
  1. 查看模块
  • 方式一:进入对应文件查看模块是否已添加
cd obj/
ll
vim ngx_modules.c

img
img

  • 方式二:通过命令行查看
/usr/local/nginx/sbin/nginx -V

img
3. 配置HTTPS

  • 把SSL证书*.crt和私钥.key拷贝到/usr/local/nginx/conf目录中
    img
  • 新增server监听443端口
server {
    listen 443 ssl;
    server_name www.xiaodunan.com;
    #开启ssl
    ssl on;
    #配置ssl证书
    ssl_certificate www.xiaodunan.com.crt;
    #配置证书秘钥
    ssl_certificate_key www.xiaodunan.com.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:HIGH:!aNULL:!MD5:!RC4:!DHE;
       location / {
        proxy_pass http://tomcats/;
        index index.html index.htm;
    }
}
  1. 检查语法并刷新
../sbin/nginx -t
../sbin/nginx -s reload
  1. 使用https访问主域名,可以访问 (因为是自己生成的证书不是买公有云的证书,所以会提示不安全)
    img

报错

配置完成后使用https访问主域名还是不行,经过排错,发现是443端口并未启用
img
解决方法:重启nginx
img

posted @ 2023-05-05 09:43  小肚腩吖  阅读(279)  评论(0编辑  收藏  举报