nginx https ssl 设置受信任证书[转然哥]
nginx https ssl 设置受信任证书[原创]
1. 安装nginx 支持ssl模块
http://nginx.org/en/docs/configure.html

- yum -y install openssh openssh-devel (http_ssl_module 模块依赖openssh)
- ./configure
- --sbin-path=/usr/local/nginx/nginx
- --conf-path=/usr/local/nginx/nginx.conf
- --pid-path=/usr/local/nginx/nginx.pid
- --with-http_ssl_module
- --with-pcre=../pcre-8.38
- --with-zlib=../zlib-1.2.8

2. 配置nginx
http://nginx.org/en/docs/http/configuring_https_servers.html

- server {
- listen 443 ssl;
- server_name www.example.com;
- ssl_certificate www.example.com.crt;
- ssl_certificate_key www.example.com.key;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers HIGH:!aNULL:!MD5;
- ...
- }

3.生成本地证书

- #!/bin/sh
- # create self-signed server certificate:
- read -p "Enter your domain [www.example.com]: " DOMAIN
- echo "Create server key..."
- openssl genrsa -des3 -out $DOMAIN.key
- echo "Create server certificate signing request..."
- SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$DOMAIN"
- openssl req -new -subj $SUBJECT -key $DOMAIN.key -out $DOMAIN.csr
- echo "Remove password..."
- mv $DOMAIN.key $DOMAIN.origin.key
- openssl rsa -in $DOMAIN.origin.key -out $DOMAIN.key
- echo "Sign SSL certificate..."
- openssl x509 -req -days -in $DOMAIN.csr -signkey $DOMAIN.key -out $DOMAIN.crt
- echo "TODO:"
- echo "Copy $DOMAIN.crt to /etc/nginx/ssl/$DOMAIN.crt"
- echo "Copy $DOMAIN.key to /etc/nginx/ssl/$DOMAIN.key"
- echo "Add configuration in nginx:"
- echo "server {"
- echo " ..."
- echo " listen 443 ssl;"
- echo " ssl_certificate /etc/nginx/ssl/$DOMAIN.crt;"
- echo " ssl_certificate_key /etc/nginx/ssl/$DOMAIN.key;"
- echo "}"

在当前目录下会创建出4个文件:
- www.test.com.crt:自签名的证书
- www.test.com.csr:证书的请求
- www.test.com.key:不带口令的Key
- www.test.com.origin.key:带口令的Key
Web服务器需要把www.test.com.crt
发给浏览器验证,然后用www.test.com.key
解密浏览器发送的数据,剩下两个文件不需要上传到Web服务器上。
以Nginx为例,需要在server {...}
中配置:
server {
...
ssl on;
ssl_certificate /etc/nginx/ssl/www.test.com.crt;
ssl_certificate_key /etc/nginx/ssl/www.test.com.key;
}
如果一切顺利,打开浏览器,就可以通过HTTPS访问网站。第一次访问时会出现警告(因为我们的自签名证书不被浏览器信任),把证书通过浏览器导入到系统(Windows使用IE导入,Mac使用Safari导入)并设置为“受信任”,以后该电脑访问网站就可以安全地连接Web服务器了:

- server {
- listen 443;
- server_name www.xxx.com;
- index index.html index.htm index.php default.html default.htm default.php;
- root /var/www;
- include yb.conf;
- #error_page 404 /404.html;
- location ~ [^/]\.php(/|$)
- {
- # comment try_files $uri =404; to enable pathinfo
- try_files $uri =404;
- fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_index index.php;
- include fastcgi.conf;
- #include pathinfo.conf;
- }
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- expires 30d;
- }
- location ~ .*\.(js|css)?$
- {
- expires 12h;
- }
- access_log /var/wwwlogs/www.xxx.com.log access;
- ssl on;
- ssl_certificate /var/www/conf/xxx_com.crt;
- ssl_certificate_key /var/www/conf/server.key;
- }
- server {
- listen 80;
- server_name xxx.com www.xxx.com;
- rewrite ^(.*) https://$server_name$1 permanent;
- }

4. 证书怎样永久有效,第一种买商业授权,几百刀一年,第二种免费的,时间短
https://www.startssl.com/ 去这个网站注册账号,然后校验你要生成的域名的证书
点击下一步,最后完成后,将证书下载到本地,
解压后, .crt 就是官方提供的证书了,将其配置到 你的 nginx[根据你用的服务器而定] 上就可以了,
如果全站需要 https,则 需要 将80的所有请求 重定向到 443端口上即可。
nginx https ssl 设置受信任证书[转然哥]的更多相关文章
- nginx https ssl 设置受信任证书[原创]
1. 安装nginx 支持ssl模块 http://nginx.org/en/docs/configure.html yum -y install openssh openssh-devel (htt ...
- nginx配置ssl双向验证 nginx https ssl证书配置
1.安装nginx 参考<nginx安装>:http://www.ttlsa.com/nginx/nginx-install-on-linux/ 如果你想在单IP/服务器上配置多个http ...
- linux:Nginx+https双向验证(数字安全证书)
本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另 ...
- nginx https ssl 配置
#设置https 访问server { listen ; server_name www.xxx.com; access_log xxx/xxx/xxx.log combined; index ind ...
- Nginx+HTTPS(SSL/TLS)
环境 首先确保机器上安装了openssl和openssl-devel rpm -qa | grep openssl #yum install openssl #yum install openssl- ...
- 图解Win7如何手动添加受信任证书
点击开始—>运行,如下图所示: 弹出“控制台”窗口如下,如下图所示: 点击“文件—添加/删除管理单元”,如下图所示: 选择“证书”,并点击“添加”,如下图所示: 在弹出的窗口上选 ...
- Windows 7 手动添加受信任证书教程
步骤如下: 1.点击开始-运行,如下图: 2.弹出"控制台"窗口如下,如下图: 3.点击"文件-添加/删除管理单元",如下图: 4.选择"证书&quo ...
- windows服务器怎么将证书添加到受信任证书颁发机构
1.键盘输入win+r 快键键,出现运行,输入mmc. 2.打开控制台根节点,点击上方导航栏的文件-->添加删除管理单元.如下图. 3.在可用的管理单元中选择"证书",计算机 ...
- Nginx+Https自己敲命令生成证书
nginx配置https访问 一.准备 环境:centos6.8 nginx:1.13.6 二.开始 首先安装依赖包: yum install -y gcc gcc-c++ autocon ...
随机推荐
- 如何在程序中使用CString
在新建项目的时候,如果选择了MFC并且使用ATL,那么在程序中使用CString是没有问题的. 但是如果当初没有选,后面再改,虽然选上了,但是CString在编译的时候还是不被编译器识别.怎么办那? ...
- 在Java程序中做字符串拼接时一定要记得的MessageFormat.format
Java里从来少不了字符串拼接的活,Java程序员也肯定用到过StringBuffer,StringBuilder,以及被编译器优化掉的+=.但这些都和下文要谈的无关. 比如有这样的字符串: 张三将去 ...
- iOS中重用UITableView单元格时,千万别忘了这个
不多说,看截图
- Eclipse里如何配制项目在tomcat中启动
首先,在Eclipse中新建一个Hello工程,Workspace的位置在c:/eclipse/workspace,所以hello工程的位置就是在%Workspace%/hello/这个文件夹中. ...
- PHP 自学之路-----XML编程(Dom技术)
上一节,讲了Xml文件基本语法及元素,实体及Dtd约束技术,下面就正式进入PHP的Xml编程 使用PHP技术对Xml文件进行操作 常用的有以下三种技术: 1.PHP dom 2.PHP结合XPath操 ...
- wepy - 与原生有什么不同(事件更改)
对于repeat,详情见官方文档 <style lang="less"> .userinfo { display: flex; flex-direction: colu ...
- 图说十大数据挖掘算法(一)K最近邻算法
如果你之前没有学习过K最近邻算法,那今天几张图,让你明白什么是K最近邻算法. 先来一张图,请分辨它是什么水果 很多同学不假思索,直接回答:“菠萝”!!! 仔细看看同学们,这是菠萝么?那再看下边这这张图 ...
- R语言中数据结构
R语言还是有点古老感觉,数据结构没有Python中那么好用.以下简单总结一下R语言中经常使用的几个数据结构. 向量: R中的向量能够理解为一维的数组,每一个元素的mode必须同样,能够用c(x:y)进 ...
- idea 修改编辑区字体样式、大小
idea 修改编辑区字体样式.大小 CreateTime--2018年4月26日10:36:59 Author:Marydon 设置-->Editor-->Font-->修改Fo ...
- 怎么将txt文件转化为html格式的文件?--极为丑陋的方式
# -*- coding: utf-8 -*- #python 27 #xiaodeng #怎么将txt文件转化为html格式的文件?--极为丑陋的方式 import os #找出所有的txt格式的文 ...