Nginx配置Https缺少SSL模塊(已解決)


1、Linux下Nginx配置https

nginx下載和安裝此處就忽略,可自行百度

1.1、配置https

打開nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

相關https配置

server {
    listen 9128 ssl; #開放端口
    server_name one.poryoung.cn;#域名
    #redirect to https
    #ssl on; #舊版

    #ssl證書地址
    ssl_certificate     /usr/local/cert/*****.pem; #pem
    ssl_certificate_key /usr/local/cert/****.key; #key


     location / {
     	# 代理請求的地址和開放端口
        proxy_pass  http://192.168.0.43:9129;
        #proxy_set_header X-Forwarded-Proto  $scheme;
        #add_header Content-Security-Policy upgrade-insecure-requests;
     }
}

鍵盤按下ESC鍵,輸入:wq  表示保存退出

其他部分解釋:!強制退出、q 退出

測試配置文件是否正確

# 在nginx目錄下輸入一下命令
./sbin/nginx -tc conf/nginx/conf

出現以下示例表示配置成功

如果出現以下示例字樣表示缺少ngx_http_ssl_module模塊

the "ssl" parameter requires ngx_http_ssl_module

證明此時Nginx缺少該模塊

此時要將剛才的關於https的配置用#先全部注釋掉,否則后期停服會報配置文件錯誤

1.2、下載並配置https

1、找到Nginx安裝目錄

# 比如我的在/usr/local/src/nginx-1.15.1
cd /usr/local/src/nginx-1.15.1

如果實在找不到,那就查看Nginx版本號重新下載一個

# 查看Nginx版本號 (/usr/local/nginx/是你Nginx服務器的實際位置)
/usr/local/nginx/sbin/nginx -V

 查看configure arguments:后邊有沒有值,如果有,就復制下來。

2、從新配置SSL模塊

進入nginx源碼包目錄,運行:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --原來有的模塊(如果有的話)

如果運行之后,最終報錯如下:

2.1、下載OpenSSL庫(沒報錯可忽略該步驟

yum -y install openssl openssl-devel

配置完成后,運行命令make命令

make
# 注意,此處不能mark install 否則就是覆蓋安裝

3、 替換已安裝好的Nginx包

替換之前先備份:

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

先停止Nginx服務

# 停止服務
./usr/local/nginx/sbin/nginx -s stop

將剛剛編譯好的nginx覆蓋掉原有的nginx

# 在Nginx解壓目錄下使用以下命令
cp ./objs/nginx /usr/local/nginx/sbin/

# 通過查看版本命令收看是否下載SSL模塊成功
/usr/local/nginx/sbin/nginx -V

此時應該顯示為即配置成功:

configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

 啟動服務即可,命令如下

./usr/local/nginx/sbin/nginx

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM