当前位置: 首页 > Linux

【刘健】Nginx配置SSL

时间:2023-04-06 19:01:16 Linux

Nginx配置SSL作者:AbbottLiu(刘建)创建时间:2021/09/185:50更新时间:2021/09/185:50在我们下载的证书文件中,有一个Nginx证书文件夹,里面的两个文件是必须的。我们需要将这两个文件上传到linux服务器,建议放在/etc/ssl/目录下,然后我们需要找到nginx的配置文件。ps-ef|grepnginx可以看到nginx目录是/usr/local/nginx,那么我们需要找到nginx.conf文件并修改cd/usr/local/nginx/confvimnginx.conf配置文件内容http{includemime.types;default_type应用程序/八位字节流;发送文件;keepalive_timeout65;服务器{听80;server_nameedj365.com;重写^/(.*)$https://edj365.com:443/$1永久;#charsetkoi8-r;#access_log日志/host.access.logmain;位置/{根html;indexindex.htmlindex.htm;}#error_page404/404.html;#将服务器错误页面重定向到静态页面/50x.html#error_page500502503504/50x.html;location=/50x.html{根html;}}#http节点可以添加多个server节点server{#monitorport443listen443ssl;#对应的域名,把edj365.com改成自己的域名server_nameedj365.com即可;#从腾讯云获取的第一个文件的完整路径ssl_certificate证书/edj365.com.pem;#把domainname.pem替换成你证书的文件名ssl_certificate_keycert/edj365.com.key;#将domainname.key替换成你证书的密钥文件名。ssl_session_timeout5m;ssl_protocolsTLSv1TLSv1.1TLSv1.2;ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers开启;#这是我的主页访问地址,因为用的是静态html网页,所以直接用location就可以了。location/{#folderroot/usr/local/nginx/html;#首页文件索引index.html;}}}/usr/local/nginx/sbin/nginxerrornginx:[emerg]the"ssl"parameterrequiresngx_http_ssl_moduleIn/usr/local/nginx/conf/nginx.conf:122启动Nginx的SSL模块。如果没有开启Nginx的SSL模块,配置Https报错的原因也很简单。Nginx缺少http_ssl_module模块。编译安装的时候带--with-http_ssl_module配置就可以了,但是目前的情况是我的nginx已经安装好了。如何添加模块其实很简单。下面说明一下:我的nginx的安装目录是/usr/local/nginx目录,我的源码包在/download/nginx-1.19.9目录下切换到源码包:cd/download/nginx-1.19.9#查看configurearguments中nginx的原始模块/usr/local/nginx/sbin/nginx-V后面显示的原始configure参数如下:#直接运行命令,等待配置完成./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module执行make命令,但是不要执行makeinstall,因为make是用来编译的,makeinstall是用来安装的,否则你的整个nginx都会重新覆盖。make#先备份,不需要执行cp/usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx.bakcp./objs/nginx/usr/local/nginx/sbin/然后启动nginx,仍然可以使用命令查看是否添加成功/usr/local/nginx/sbin/nginx-VNginx配置Http和Https共存服务器{listen80defaultbacklog=2048;听443SSL;server_namewosign.com;根/var/www/html;ssl_certificate/usr/local/Tengine/sslcrt/wosign.com.crt;ssl_certificate_key/usr/local/Tengine/sslcrt/wosign.com.Key;}