Nginx 實現網站 http、https 配置

在 nginx conf 目錄下新建 ssl 目錄,將申請的 ssl證書文件拷貝到此處:
在這裏插入圖片描述

修改 nginx 配置文件使支持 https,修改如下:

server {
        listen       80;
        listen       443 ssl;
        ssl_certificate ssl/cert-xuexiyuan.cn.crt;
        ssl_certificate_key ssl/cert-xuexiyuan.cn.key;
		....

新增 listen 443、ssl_certificate、ssl_certificate_key 這三行

$sudo nginx/sbin/nginx -s reload

重新加載配置報錯,缺少 http_ssl_module 模塊,錯誤信息如下:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /opt/nginx-1.12.2/conf/vhosts/xuexiyuan.cn.conf:3

nginx 添加 SSL 模塊

重新編譯 nginx 包,在之前的編譯的基礎上添加 --with-http_ssl_module 模塊來編譯,將編譯後的 nginx 文件替換掉即可。

  • 查看之前的編譯信息
webadmin@xuexiyuan:~$ /opt/nginx-1.12.2/sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 
configure arguments: --prefix=/opt/nginx-1.12.2
  • 到源碼包中重新編譯添加 --with-http_ssl_module
./configure --prefix=/opt/nginx-1.12.2 --with-http_ssl_module
  • 執行完成後,運行命令
make

注: 這裏不要進行make install,否則就是覆蓋安裝

  • 然後備份原有已安裝好的 nginx
cp /opt/nginx-1.12.2/sbin/nginx /opt/nginx-1.12.2/sbin/nginx.bak
  • 然後將剛剛編譯好的 nginx 覆蓋掉原有的nginx(這個時候nginx要停止狀態)
cp ./objs/nginx /opt/nginx-1.12.2/sbin
  • 然後啓動nginx,仍可以通過命令查看是否已經加入成功
webadmin@xuexiyuan:~$ /opt/nginx-1.12.2/sbin/nginx -V
nginx version: nginx/1.12.2
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 
built with OpenSSL 1.1.0g  2 Nov 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.12.2 --with-http_ssl_module

來自個人博客: http://www.xuexiyuan.cn/article/detail/176.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章