這個(gè)錯誤提示表明在Nginx配置文件(通常是nginx.conf)中使用了SSL(Secure Sockets Layer)相關(guān)的配置,但是Nginx沒有加載相應(yīng)的SSL模塊。
1.檢查Nginx是否編譯了SSL模塊:
/usr/local/nginx/sbin/nginx -V 2>&1 | grep --color=auto ssl
/usr/local/nginx/sbin/nginx:安裝nginx的絕對路徑
輸出以下結(jié)果 則為安裝已加載SSL模塊:configure arguments: --with-openssl=/XXX/openssl-1.1.1l --with-http_ssl_module
/XXX/openssl-1.1.1l:openssl安裝位置
有這個(gè)就是安裝了--with-http_ssl_module
2.如果已編譯安裝SSL模塊,配置有問題:
1.打開Nginx配置文件(通常是nginx.conf)。
2.確保在配置文件中的server塊中有正確的SSL配置,如listen 443 ssl;和證書路徑等,這個(gè)在證書配置的官網(wǎng)有具體的所需配置。
3.nginx.conf配置舉例:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
sendfile on;
keepalive_timeout 65;
server {
#HTTPS的默認(rèn)訪問端口443。
listen 443 ssl;
#填寫證書綁定的域名
server_name XXX;
#填寫證書文件名稱
ssl_certificate cert/XXX.pem;
#填寫證書私鑰文件名稱
ssl_certificate_key cert/XXX.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#自定義設(shè)置使用的TLS協(xié)議的類型以及加密套件(以下為配置示例,請您自行評估是否需要配置)
#TLS協(xié)議版本越高,HTTPS通信的安全性越高,但是相較于低版本TLS協(xié)議,高版本TLS協(xié)議對瀏覽器的兼容性較差。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#表示優(yōu)先使用服務(wù)端加密套件。默認(rèn)開啟
ssl_prefer_server_ciphers on;
location / {
root html/XXX;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /prod-api/{
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://XXX:XXX/;
}
location /prod-system/{
proxy_pass http://XXX:XXX/; #修改為需要被反向代理的WebSocket的IP和端口號
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
4.重新驗(yàn)證Nginx配置:/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
如果沒有語法錯誤,啟動Nginx
3.如果未編譯安裝SSL模塊(OpenSSL安裝):
# 進(jìn)入您希望存放 OpenSSL 源代碼的目錄
cd /XXX
# 下載 OpenSSL 源代碼,瀏覽器也能訪問
https://www.openssl.org/source/openssl-1.1.1l.tar.gz
# 解壓 OpenSSL 源代碼
tar -zxvf openssl-x.x.x.tar.gz
make
make install
如果出現(xiàn)報(bào)錯:Operating system: x86_64-whatever-linux2 You need Perl 5.
訪問:https://www.cpan.org/src/5.0/
離線下載也可以文章來源:http://www.zghlxwxcb.cn/news/detail-840518.html
wget https://www.cpan.org/src/5.0/perl-5.30.1.tar.gz
tar -xzf perl-5.30.1.tar.gz
cd perl-5.30.1
./Configure -des -Dprefix=$HOME/localperl
make
make test
make install
4.安裝成功OpenSSL后,進(jìn)入Nginx源代碼目錄,(解壓出來的那個(gè)地方,安裝一般都是在/usr/local/nginx)。
./configure --with-openssl=/usr/local/openssl --with-http_ssl_module
make
make install
驗(yàn)證配置/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
啟動:/usr/local/nginx/sbin
目錄執(zhí)行./nginx
重新加載配置:/usr/local/nginx/sbin
目錄執(zhí)行./nginx -s reload
文章來源地址http://www.zghlxwxcb.cn/news/detail-840518.html
到了這里,關(guān)于[emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:35的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!