php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > 服务器 >

Nginx配置HTTPS详细说明

时间:2018-08-22 17:35来源:未知 作者:admin 点击:
实验环境下配置 1、下载openssl:yum install openssl* -y 2、使用openssl生成数字证书 mkdir -p /etc/nginx/ssl openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.p

 实验环境下配置

  1、下载openssl:yum install openssl* -y

  2、使用openssl生成数字证书

  mkdir -p /etc/nginx/ssl

  openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.pem

  Country Name (2 letter code) [AU]:US

  State or Province Name (full name) [Some-State]:New York

  Locality Name (eg, city) []:New York City

  Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.

  Organizational Unit Name (eg, section) []:Ministry of Water Slides

  Common Name (e.g. server FQDN or YOUR name) []:your_domain.com

  Email Address []:admin@your_domain.com

  3、Nginx下的配置(只启用Https)

  server {

  listen 80;

  server_name www.yourdomain.com;

  rewrite ^ https://$http_host$request_uri? permanent; # force redirect http to https

  #return 301 https://$http_host$request_uri;

  }

  server {

  listen 443 ssl;

  ssl_certificate /etc/nginx/ssl/nginx.pem;

  ssl_certificate_key /etc/nginx/ssl/nginx.key;

  keepalive_timeout 70;

  server_name www.yourdomain.com;

  #禁止在header中出现服务器版本,防止***利用版本漏洞***

  server_tokens off;

  #如果是全站 HTTPS 并且不考虑 HTTP 的话,可以加入 HSTS 告诉你的浏览器本网站全站加密,并且强制用 HTTPS 访问

  #add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";

  # ......

  fastcgi_param HTTPS on;

  fastcgi_param HTTP_SCHEME https;

  access_log /var/log/nginx/wiki.xby1993.net.access.log;

  error_log /var/log/nginx/wiki.xby1993.net.error.log;

  }

  4、同时使用Http和Https

  Nginx下配置

  server {

  listen 80;

  listen 443 ssl;

  server_name www.example.com;

  ssl_certificate www.example.com.pem;

  ssl_certificate_key www.example.com.key;

  ...

  }

  5、重启Nginx

  openssl的说明

  req: 配置参数-x509指定使用 X.509证书签名请求管理(certificate signing request (CSR))."X.509" 是一个公钥代表that SSL and TLS adheres to for its key and certificate management.

  -nodes: 告诉OpenSSL生产证书时忽略密码环节.(因为我们需要Nginx自动读取这个文件,而不是以用户交互的形式)。

  -days 36500: 证书有效期,100年

  -newkey rsa:2048: 同时产生一个新证书和一个新的SSL key(加密强度为RSA 2048)

  -keyout:SSL输出文件名

  -out:证书生成文件名

  它会问一些问题。需要注意的是在common name中填入网站域名,如wiki.xby1993.net即可生成该站点的证书,同时也可以使用泛域名如*.xby1993.net来生成所有二级域名可用的网站证书。

  企业Web服务器的HTTPS

  一、申请,购买CA证书

  一般各大云服务提供商都会有此类证书服务,根据公司和业务需求,可以自己选择免费或者付费的证书。

  二、下载并解压证书文件

  一个zip包,里面有xxx.key和xxx.pem两个文件。

  三、配置Nginx(同上)

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐
猜你喜欢