乐趣区

关于nginx:Nginx-配置-ssl-证书

Nginx 配置

cd /usr/local/nginx/conf
mkdir cert
# 上传证书到此目录
cd cert

vim /usr/local/nginx/conf/sites/yourdomain.com.conf
server {
    #如果应用 Nginx 1.15.0 及以上版本,用 listen 443 ssl 代替 listen 443 和 ssl on
    listen 443 ssl;
    
    #须要将 yourdomain.com 替换成证书绑定的域名
    server_name yourdomain.com;
    root  /example.com/public;
    index index.html index.htm;
    
    #证书文件的名称
    ssl_certificate cert/cert-file-name.pem;
    
    #证书密钥文件的名称
    ssl_certificate_key cert/cert-file-name.key;
    ssl_session_timeout 5m;
    
    #示意应用的加密套件的类型
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    
    #示意应用的 TLS 协定的类型
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    
    location / {try_files $uri $uri/;}
}

# 可选:设置 HTTP 申请主动跳转 HTTPS。server {
    listen 80;
    
    #须要将 yourdomain.com 替换成证书绑定的域名
    server_name yourdomain.com;
    
    #将所有 HTTP 申请通过 rewrite 指令重定向到 HTTPS
    rewrite ^(.*)$ https://$host$1;
    location / {try_files $uri $uri/;}
}

如果应用的是云服务器,须在平安组页面,配置放行 80 端口和 443 端口,否则网站拜访可能出现异常。

虚拟主机可选:设置 HTTP 申请主动跳转 HTTPS。

vim .htaccess

RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
#须要将 yourdomain.com 替换成证书绑定的域名
RewriteCond %{HTTP_HOST} ^(www.)?yourdomain.com$ [NC]
#须要将 yourdomain.com 替换成证书绑定的域名
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R=301,L]

重启 Nginx 服务

cd /usr/local/nginx/sbin
./nginx -s reload

验证是否装置胜利

拜访证书的绑定域名验证该证书是否装置胜利。

https://yourdomain.com 

如果网页地址栏呈现小锁标记,示意证书曾经装置胜利。

退出移动版