如何配置Linux Nginx使用NameCheap Comodo PositiveSSL证书实现HTTPS加密访问?
摘要:证书申请、激活这里不记录了,有免费的也有付费的,自己玩去~ 激活后下载的包里有一个 ca-bundle 和一个 crt 文件 1、检查 Nginx SSL 模块 # 进入 nginx 启动目录执行 -V usrsbinnginx -V
证书申请、激活这里不记录了,有免费的也有付费的,自己玩去~
激活后下载的包里有一个 ca-bundle 和一个 crt 文件
1、检查 Nginx SSL 模块
# 进入 nginx 启动目录执行 -V
/usr/sbin/nginx -V
如果没有--with-http_ssl_module 那就要装 SSL 模块了
2、合并文件
将ca-bundle 文件的所有内容复制到 crt 文件里面,合并成一个新的 crt 文件
3、 新建文件夹
在 Nginx 的 conf 文件夹的同级目录新建 ssl
cd /etc/nginx # 进入 nginx 安装目录
sudo mkdir ssl # 建立文件夹
sudo chmod -R 777 #给权限:非必须
4、上传文件到 ssl 目录
将合并后的crt 文件 和生成 csr 文件的时候同时生成的 key 文件上传到 ssl 目录(最好命名一致)
5、配置 nginx 的 conf
进入 conf 所在目录新建一个文件 后缀为 .conf
cd /etc/nginx/cnfg.d
sudo vim meta.conf
我直接贴代码了
server {
listen 80;
server_name metamxxxx.games www.metamxxxx.games;
rewrite ^(.*) https://www.metamxxxx.games$1 permanent;
}
server {
listen 443 ssl http2;
server_name www.metamxxxx.games;
ssl_certificate /etc/nginx/ssl/metamxxxx.games.crt;
ssl_certificate_key /etc/nginx/ssl/metamxxxx.games.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_buffer_size 1400;
add_header Strict-Transport-Security max-age=15768000;
ssl_stapling on;
ssl_stapling_verify on;
gzip on;
gzip_buffers 32 4K;
gzip_comp_level 6;
gzip_min_length 100;
gzip_types text/plain font/ttf application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。
