Nginx HTTPS配置

HTTPS越来越普及了,大势所趋。

现在有免费的HTTPS证书可以用了,不用再交保护费了。

 

Nginx下配置HTTPS,很简单:

server {
       listen       443;
      # listen       [::]:80 default_server;
       server_name   雷哥的域名.net;
      # root         /usr/share/nginx/html;
  
      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;
  
     ssl on;
     ssl_certificate   /etc/nginx/conf.d/cert/雷哥的域名.net.pem;
    ssl_certificate_key  /etc/nginx/conf.d/cert/雷哥的域名.net.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;

     index index.jsp index.html;
      location / {
               proxy_pass      http://127.0.0.1:8091;
      }
  
      error_page 404 /404.html;
          location = /40x.html {
      }
  
      error_page 500 502 503 504 /50x.html;
          location = /50x.html {
      }
 
  }


 # https:/www  to https 
server {
     listen     443;
     server_name www.雷哥的域名.net;
     return 301 $scheme://雷哥的域名.net$request_uri;
 }


# http:/www. to  http 
server {
 listen     80;
 server_name www.雷哥的域名.net,雷哥的域名.net;
 return 301 https://雷哥的域名.net$request_uri;
 }

解读

监听443端口,响应HTTPS请求。

为了网站域名简单直观,且访问统一。

对外统一域名:https://aa.com,不带www。

同时,

https://www.aa.com,http://www.aa.com,http://aa.com 统一跳转到 https 非fwww。

 

 

证书

     ssl_certificate   /etc/nginx/conf.d/cert/雷哥的域名.net.pem;
    ssl_certificate_key  /etc/nginx/conf.d/cert/雷哥的域名.net.key;

 

pem是啥来着,OpenSSL 使用 PEM 文件格式存储证书和密钥。

.key 是 私钥

你可能感兴趣的:(运营运维)