nginx配置 ssl https

Posted on Posted in nginx
Tips: 本文创建于2016年5月21日,已超过 2 年,内容或图片可能已经失效!

> nginx 需要有相关模块 --with-http_ssl_module

  1. -> root@5ec10cd772a5 ~ ? # nginx -V  
  2. nginx version: nginx/1.0.15  
  3. built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)  
  4. TLS SNI support enabled  
  5. configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module --with-http_perl_module --with-mail --with-mail_ssl_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-ld-opt=-Wl,-E  

> 安装 openssl

  1. -> root@5ec10cd772a5 ~ ? # yum -y install openssl openssl-devel  

> 创建 https 证书

  1. -> root@5ec10cd772a5 ~ 1? # mkdir /etc/nginx/ssl && cd $_  
  2. #创建服务器私钥  
  3. -> root@5ec10cd772a5 /etc/nginx/ssl ? # openssl genrsa -des3 -out server.key 1024  
  4. Generating RSA private key, 1024 bit long modulus  
  5. ..++++++  
  6. ...........++++++  
  7. e is 65537 (0x10001)  
  8. Enter pass phrase for server.key:  
  9. Verifying - Enter pass phrase for server.key: #输入证书口令  
  10. #创建签名请求的证书(CSR)  
  11.   
  12. -> root@5ec10cd772a5 /etc/nginx/ssl 130? # openssl req -new -key server.key -out server.csr  
  13. Enter pass phrase for server.key:  
  14. You are about to be asked to enter information that will be incorporated  
  15. into your certificate request.  
  16. What you are about to enter is what is called a Distinguished Name or a DN.  
  17. There are quite a few fields but you can leave some blank  
  18. For some fields there will be a default value,  
  19. If you enter '.', the field will be left blank.  
  20. -----  
  21. Country Name (2 letter code) [XX]:cn #国家  
  22. State or Province Name (full name) []:beijing #省份  
  23. Locality Name (eg, city) [Default City]:beijingshi #城市  
  24. Organization Name (eg, company) [Default Company Ltd]:liuhonghe #公司  
  25. Organizational Unit Name (eg, section) []:os #部门  
  26. Common Name (eg, your name or your server's hostname) []:5ec10cd772a5 #主机名  
  27. Email Address []:352517144@qq.com #邮箱  
  28.   
  29. Please enter the following 'extra' attributes  
  30. to be sent with your certificate request  
  31. A challenge password []:123456 #证书请求密钥,CA读取证书的时候需要输入密码  
  32. An optional company name []:liuhonghe #公司名称,CA读取证书的时候需要输入密码  
  33. #对证书进行解密  
  34. -> root@5ec10cd772a5 /etc/nginx/ssl ? # openssl rsa -in server.key -out server_nopassword.key  
  35. Enter pass phrase for server.key:  
  36. writing RSA key  
  37. -> root@5ec10cd772a5 /etc/nginx/ssl ? # openssl x509 -req -days 365 -in server.csr -signkey server_nopassword.key -out server.crt  
  38. Signature ok  
  39. subject=/C=cn/ST=beijing/L=beijingshi/O=liuhonghe/OU=os/CN=5ec10cd772a5/emailAddress=352517144@qq.com  
  40. Getting Private key  

> 配置 nginx

  1. -> root@fc5468a2eb54 /etc/nginx/ssl ? # vim ../nginx.conf  
  2. server {  
  3.     listen       443;  
  4.     server_name  192.168.99.100;  
  5.   
  6.     ssl                  on;  
  7.     ssl_certificate      /etc/nginx/ssl/server.crt;  
  8.     ssl_certificate_key  /etc/nginx/ssl/server_nopassword.key;  
  9.     location / {  
  10.         root   html;  
  11.         index  index.html index.htm;  
  12.     }  
  13. }  
  14.   
  15. # 修改80端口,把80转到443  
  16.   
  17. rewrite ^(.*) https://192.168.99.100$1 permanent;  
» 转载请注明来源:若我若鱼 » nginx配置 ssl https

Leave a Reply

Your email address will not be published. Required fields are marked *

twelve − 7 =