Nginx配置https

Stella981 等级 459 0 0
标签: nginxhttpsssl

一、开启nginx的ssl模块
1.未安装过nginx,编译安装配置参数如下:
./configure
--prefix=/usr/local/nginx
--with-pcre
--with-http_ssl_module #ssl模块
--with-http_stub_status_module
--with-http_gzip_static_module
备注:
未开启ssl模块,nginx配置ssl后启动会出现问题the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37
原因是nginx缺少http_ssl_module模块,编译安装时带上--with-http_ssl_module配置就可以了

2.已经安装过nginx,想要添加模块
停止nginx:/usr/local/nginx/sbin/nginx -s stop
查看nginx原有的模块:/usr/local/nginx/sbin/nginx -V
切换到nginx源码包重新配置:
./configure
--prefix=/usr/local/nginx
--with-pcre
--with-http_ssl_module #ssl模块
--with-http_stub_status_module
--with-http_gzip_static_module
重新编译make,但不需要make install安装
备份原有已经安装好的nginx:cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
将编译好的nginx覆盖掉原来的nginx:cp ./objs/nginx /usr/local/nginx/sbin/
启动nginx,查看nginx模块是否添加:/usr/local/nginx/sbin/nginx -V 

二、创建https签名证书
创建证书存放目录:mkdir /usr/local/nginx/cert
创建私钥:openssl genrsa -des3 -out server.key 1024
创建签名请求证书:openssl req -new -key server.key -out server.csr
备份私钥:cp server.key server.key.org
去除私钥口令:openssl rsa -in server.key.org -out server.key
创建签名证书:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

三、配置nginx的https
  配置文件nginx.conf:
server {
listen 443 ssl;
server_name localhost;

ssl on
ssl_certificate /usr/local/nginx/cert/server.crt;
ssl_certificate_key /usr/local/nginx/cert/server.key;
ssl_session_timeout 1m;
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1.0 TLSv1.1 TLSv1.2 TLSv1.3;

location / {
root html;
index index.html index.htm;
}
}

四、完成
检查配置文件是否正确:/usr/local/nginx/sbin/nginx -t
启动nginx:/usr/local/nginx/sbin/nginx
平滑重启nginx:/usr/local/nginx/sbin/nginx -s reload

收藏
评论区

相关推荐

thinkphp5 + vue nginx配置
### **thinkphp5 + vue 配置** server { listen 80; listen [::]:80; # For https listen 443 ssl; listen [::]:443 ssl; ssl_c
CentOS7配置Nginx支持HTTPS访问
1.安装git和bc     yum -y install git bc 2.安装Nginx     1.准备:         yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel     2.下载:      
Linux下安装nginx实现伪分布
1.安装 Nginx 的编译环境 gcc yum install gcc-c++ 2.nginx 的 http 模块使用 pcre 解析正则表达式,所以安装 perl 兼容的正则表达式库 yum install -y pcre pcre-devel 3.nginx 使用 zlib 对 http 包的内容进行 gzip yum
Nginx SSL+Tomcat集群,request.getScheme() 取到https正确的协议
最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议 ![输入图片说明](https://static.oschina.net/uploads/img/201805/18213252_TT7i.png "在这里输入图片标题") 但是,明明是https url请
Nginx SSL补充安装
> 在centos中,配置nginx的https时,出现如下错误。 nginx: \[emerg\] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:102,说明编译是没有启用SSL。 到解压的nginx目录下 ============ ./configure --with-
Nginx 反向代理Springboot oAuth https配置方案
Nginx 配置方案 server { listen 80; server_name www.yourname.com; rewrite ^(.*)$ https://${server_name}$1 permanent; } server {
Nginx 安装 SSL 配置 HTTPS 超详细完整全过程
![](https://i.loli.net/2020/04/06/7Q59J62aNeRHihG.png) **一,环境说明** ========== 服务器系统:centos7 服务器IP地址:云服务器的公网IP 域名:bjubi.com 简单步骤流程: 拥有一台[服务器](https://www
Nginx 配置 HTTPS 服务器
Nginx 配置 HTTPS 并不复杂,主要有两个步骤:**签署第三方可信任的 SSL 证书** 和 **配置 HTTPS** 签署第三方可信任的 SSL 证书 ---------------- ### 关于 SSL 证书 有关 SSL 的介绍可以参阅维基百科的传输层安全协议和阮一峰先生的 《SSL/TLS协议运行机制的概述》。 SSL 证书主要有两
Nginx 配置Https 协议
1\. 去阿里云SSL证书购买证书 ![](https://oscimg.oschina.net/oscnet/3398ef872c4f1e56e01a1c79f270d756877.png)  2.  审核通过后下载nginx 的ssl证书 ![](https://img2018.cnblogs.com/i-beta/1868441/202002/1
Nginx+Lua+Tomcat搭建分布式集群
Nginx+Tomcat+cluster集群搭建 ------------------------ > Tomcat1 --> 带有newrelic的主Tomcat复制版本 > Tomcat2 --> 纯净的相同版本的Tomcat > Nginx1.8 > SSL证书原始文件和密码 ### 安装Nginx nginx1.8 downlo
Nginx+uwsgi+ssl配置https
使用原始django,太过于笨重和杂多 nginx是一个轻量级的web服务器,在处理静态资源和高并发有优势 uwsgi是一个基于python的高效率的协议,处理后端和动态网页有优势 所以这里采用静态网页交给nginx解析,动态网页交给uwsgi解析,并且nginx配置ssl,即可以使用出高安全,高效率的部署。 **步骤** 我
Nginx安全优化
一、隐藏版本号 ------- http { server_tokens off; } 经常会有针对某个版本的nginx安全漏洞出现,隐藏nginx版本号就成了主要的安全优化手段之一,当然最重要的是及时升级修复漏洞。 二、开启HTTPS --------- server { listen 443
Nginx搭建 Https 运行Docker项目
一、环境介绍 ====== 阿里云centos 7.4 Nginx/1.12.1 Let’s Encrypt 永久免费 SSL 证书 Docker已打包好项目的镜像 (详情参考http://www.cnblogs.com/killall007/p/8477484.html) 二、Nginx安装 ========= 首先安装ssl,pcre,zli
Nginx系列之使用ssl模块配置支持代理HTTPS链接
Nginx系列之使用ssl模块配置支持HTTPS访问 1、博客前言介绍 -------- 最近在用nginx代理https的第三方链接,因为不是做运维,所以对nginx并不是特殊熟悉,所以到处询问摸索了挺久 2、查看ssl\_module --------------- 要使用nginx代理https的链接,先用检查nginx是否已经有安装了ssl
Nginx配置https
一、开启nginx的ssl模块 1.未安装过nginx,编译安装配置参数如下: ./configure \--prefix=/usr/local/nginx \--with-pcre \--with-http\_ssl\_module #ssl模块 \--with-http\_stub\_status\_module \--wit