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
目录
打赏
0
0
0
0
21
分享
相关文章
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
500 87
Nginx配置与命令
Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。
YashanDB HA节点间SSL连接配置
本指南介绍HA内部节点链路的SSL连接配置,包括客户端监听与HA节点自身监听两种方式。需使用OpenSSL工具生成证书,具体步骤参考数据库服务端SSL连接配置文档。此外,还需在数据库中开启HA的SSL连接开关并设置证书路径(仅支持绝对路径,长度≤254字节),最后重启数据库以完成配置。确保服务器已安装所需工具,详细操作请查阅相关文档。
YashanDB HA节点间SSL连接配置
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
90 10
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
YashanDB数据库服务端SSL连接配置
YashanDB支持通过SSL连接确保数据传输安全,需在服务端生成根证书、服务器证书及DH文件,并将根证书提供给客户端以完成身份验证。服务端配置包括使用OpenSSL工具生成证书、设置SSL参数并重启数据库;客户端则需下载根证书并正确配置环境变量与`yasc_env.ini`文件。注意:启用SSL后,所有客户端必须持有根证书才能连接,且SSL与密码认证独立运行。
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
107 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
配置Nginx根据IP地址进行流量限制以及返回JSON格式数据的方案
最后,记得在任何生产环境部署之前,进行透彻测试以确保一切运转如预期。遵循这些战术,守卫你的网络城堡不再是难题。
81 3
MySQL 8.4 配置SSL组复制(八个步骤)
MySQL 8.4 配置SSL组复制(八个步骤)
163 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等