新购买的服务器,配置了一下Nginx的ssl证书,具体如下
http {
server{
listen 443 ssl;
server_name www.xxx.com;
ssl_certificate /etc/certs/cert.pem;
ssl_certificate_key /etc/certs/cert.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location /wxpay/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://127.0.0.1:8080/wxpay;
}
}
server {
listen 80;
server_name www.xxx.com;
rewrite ^/(.*)$ https://www.xxx.com:443/$1 permanent;
}
}
发现无法启动,报nginx:[emerg]unknown directive ssl错误。
出现这个问题是因为我编译的时候没有添加ssl模块,解决办法如下:
打开编译目录,假设是 /home/nginx-1.26.3
cd /home/nginx-1.26.3
添加ssl模块
./configure --with-http_ssl_module
# 编译安装包
make
然后把编译好的文件替换之前的,在此之前你可以先备份一下原来的文件
cp objs/nginx /usr/local/nginx/sbin/nginx
最后,查看一下是否安装成功
/usr/local/nginx/sbin/nginx -V
如果看到这样的结果就表示安装成功了
[root@launch-advisor-20180716 nginx]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.26.3
built by gcc 11.5.0 20240719 (Red Hat 11.5.0-5) (GCC)
built with OpenSSL 3.2.2 4 Jun 2024
TLS SNI support enabled
configure arguments: --with-http_ssl_module
TLS SNI support enabled
说明SSL可用,再启动Nginx就正常了
2万+

被折叠的 条评论
为什么被折叠?



