Nginx启动SSL功能,并进行功能优化,你看这个就足够了
2024-10-19 15:50:51
一:开始Nginx的SSL模块
1.1 Nginx如果未开启SSL模块,配置Https时提示错误
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37
原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看: 做个说明:我的nginx的安装目录是/usr/local/nginx这个目录,我的源码包在/usr/local/src/nginx-1.6.2目录
1.2 Nginx开启SSL模块
切换到源码包:
cd /usr/local/src/nginx-1.11.3
查看nginx原有的模块
/usr/local/nginx/sbin/nginx -V
在configure arguments:后面显示的原有的configure参数如下:
--prefix=/usr/local/nginx --with-http_stub_status_module
那么我们的新配置信息就应该这样写:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
运行上面的命令即可,等配置完
配置完成后,运行命令
make
这里不要进行make install,否则就是覆盖安装
然后备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)
cp ./objs/nginx /usr/local/nginx/sbin/
然后启动nginx,仍可以通过命令查看是否已经加入成功
/usr/local/nginx/sbin/nginx -V
Nginx 配置Http和Https共存
server {
listen 80 default backlog=2048;
listen 443 ssl;
server_name wosign.com;
root /var/www/html; ssl_certificate /usr/local/Tengine/sslcrt/ wosign.com.crt;
ssl_certificate_key /usr/local/Tengine/sslcrt/ wosign.com .Key;
}
把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用
Nginx 配置SSL安全证书重启避免输入密码
可以用私钥来做这件事。生成一个解密的key文件,替代原来key文件。
openssl rsa -in server.key -out server.key.unsecure
Nginx SSL性能调优
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
Nginx 配置Http跳转Https
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name www.域名.com;
root /home/www;
ssl on;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
}
最新文章
- [LeetCode] Minimum Depth of Binary Tree 二叉树的最小深度
- Table样式
- C#调用百度静态地图
- codeforces 666A (DP)
- 验证整数、小数、实数、有效位小数最简单JavaScript正则表达式
- linux下如何查看主机的外网ip地址
- ie下jquery ajax 80020101错误的解决方法
- CentOS7安装mysql-server
- 【BZOJ1875】【矩阵乘法】[SDOI2009]HH去散步
- Oracle RAC的五大优势及其劣势
- 将.lib库文件转换成.a库文件的工具
- 浅谈qt 布局器
- Python内置函数(23)——dict
- markdown文本转换word,pdf
- BUAAOO第二单元多线程电梯作业总结
- Perl基础速成
- poj 1945 Power Hungry Cows A*
- fork新建进程——父进程等待子进程结束
- 实践jQuery Easyui后本地化有感
- java中枚举类的实际应用
热门文章
- WPF 之 跳转
- Spring MVC学习笔记02
- Blending(融合)
- Jqeury获取table当前行与指定列
- c++的输入流基础知识
- Hessian矩阵
- gcc: error trying to exec 'cc1plus': execvp: no such file or directory
- pxe+kickstart实现无人值守批量安装linux
- CF Two Substrings
- hdu-5686 Problem B(斐波那契数列)