Nginx配置SSL证书

简介: Nginx配置SSL证书

1.下载证书

在ssl证书管理界面下载对应于Nginx的证书。

下载的Nginx证书压缩文件解压后包含:

.pem:证书文件。PEM文件的扩展名为CRT格式。
.key:证书的密钥文件。申请证书时如果未选择自动创建CRS,则下载的证书文件压缩包中不会包含.key文件,需要您将自己手动常见的私钥文件拷贝到cert目录下。

2.更改nginx设置

在nginx安装目录下新建cert目录存储nginx证书      

cd usr/local/nginx/conf
mkdir cert

更改nginx.conf设置vim nginx.conf

找到server块,更改并加入以下内容:

server {
    listen 443;
    server_name szsyblxh.cn;  # localhost修改为您证书绑定的域名。
    ssl on;   #设置为on启用SSL功能。
    #root html;
    #index index.html index.htm;
    ssl_certificate cert/9535250_www.xxxx.xxx.pem;   #将domain name.pem替换成您证书的文件名。
    ssl_certificate_key cert/9535250_www.xxxx.xxx.key;   #将domain name.key替换成您证书的密钥文件名。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
    ssl_prefer_server_ciphers on;   
    location / {
       #root html;   #站点目录。
       #index index.html index.htm;   
       proxy_pass http://127.0.0.1:8884/;
             client_max_body_size 100M;
       proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Real-PORT $remote_port;
             proxy_set_header X-Forwarded-For $host;
    }
  }

配置文件全部内容为下:

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
    listen 443;
    server_name xxxxx.xxx;  # localhost修改为您证书绑定的域名。
    ssl on;   #设置为on启用SSL功能。
    #root html;
    #index index.html index.htm;
    ssl_certificate cert/9535250_www.xxxxx.xxx.pem;   #将domain name.pem替换成您证书的文件名。
    ssl_certificate_key cert/9535250_www.xxxxx.xxx.key;   #将domain name.key替换成您证书的密钥文件名。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
    ssl_prefer_server_ciphers on;   
    location / {
       #root html;   #站点目录。
       #index index.html index.htm;   
       proxy_pass http://127.0.0.1:8884/;
             client_max_body_size 100M;
       proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Real-PORT $remote_port;
             proxy_set_header X-Forwarded-For $host;
    }
  }
  server {
        listen       80;
        server_name  szsyblxh.cn;
        location / {  
       proxy_pass http://127.0.0.1:8884/; #代理的地址和端口
             client_max_body_size 100M;
       proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Real-PORT $remote_port;
             proxy_set_header X-Forwarded-For $host;
        }
    }
}

3.重新编译含有ssl配置的nginx

进入到nginx解压文件夹下

./configure --with-http_ssl_module

如果报错./configure: error: SSL modules require the OpenSSL library说明openssl未安装,安装:

#检查安装
yum list installed | grep openssl
#安装
yum install -y openssl openssl-devel

然后编译并替换原nginx

#编译
make
#备份原nginx
cp 解压目录下/objs/nginx /usr/local/nginx/sbin/nginx.bak
#停止nginx服务
ps aux | grep nginx
kill xxxx #上一条命令找到的进程号
#更新nginx
cp 解压目录下/objs/nginx /usr/local/nginx/sbin/nginx
#检查是否成功
/usr/local/nginx/sbin/nginx -t
#重启nginx服务
cd /usr/local/nginx/sbin
./nginx
目录
相关文章
|
4天前
|
负载均衡 应用服务中间件 API
深入理解 Nginx 与 Kong 的配置与实践
在微服务架构中,Nginx 用于配置负载均衡,如示例所示,定义上游`pay-service`包含不同权重的服务节点。Kong API 网关则通过service和route进行服务管理和路由,与Nginx的upstream和location类似。通过Kong的命令行接口,可以创建upstream、target、service和route,实现对后端服务的负载均衡和请求管理。Nginx和Kong协同工作,提供高效、灵活的API管理和流量控制。
7 1
深入理解 Nginx 与 Kong 的配置与实践
|
13天前
|
JavaScript 应用服务中间件 nginx
【项目部署系列教程】5. nginx配置反向代理,解决跨域接口的访问
【项目部署系列教程】5. nginx配置反向代理,解决跨域接口的访问
35 10
|
10天前
|
应用服务中间件 nginx
Nginx命令配置到系统环境变量
Nginx命令配置到系统环境变量
|
10天前
|
应用服务中间件 开发工具 nginx
Nginx基础配置实例需求分析
Nginx基础配置实例需求分析
|
12天前
|
负载均衡 JavaScript 应用服务中间件
手把手教你玩转 Nginx 配置
作为静态服务器、反代和负载均衡器,Nginx 因高性能和灵活性广泛使用。
80 5
|
9天前
|
应用服务中间件 Linux nginx
CentOS 7 上配置 Nginx 作为反向代理
在CentOS 7上设置Nginx反向代理的步骤:安装Nginx;启动Nginx服务编辑`/etc/nginx/nginx.conf`;添加`proxy_pass http://app_server_address;将请求转发至应用服务器;重启Nginx`sudo systemctl restart nginx`;验证配置是否成功
|
10天前
|
网络协议 应用服务中间件 nginx
Nginx的http块sendfile,keepalive_timeout的配置指令说明
Nginx的http块sendfile,keepalive_timeout的配置指令说明
|
12天前
|
应用服务中间件 网络安全 nginx
|
14天前
|
网络协议 应用服务中间件 网络安全
如何排查Nginx配置问题导致的域名访问错误
如何排查Nginx配置问题导致的域名访问错误
28 2
|
14天前
|
应用服务中间件 nginx
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
如何通过Nginx配置将请求转发到conf.d目录下的各个配置文件
31 2