您的位置:首页 > 理论基础 > 计算机网络

Linux+nginx实现Https和http

2017-04-17 15:52 477 查看

安装nginx:

1.下载安装包:

http://nginx.org/en/download.html 上传放入安装包文件夹


2.安装之前检查安装依赖是否完善:

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
-y  :跳过询问一律 为yes


3.解压源码压缩包:

tar zxf nginx-1.10.1.tar.gz


4.安装:./configure –prefix=/usr/nginx –with-http_ssl_module

--prefix:指定安装位置
--with-http_ssl_module编译ssl 默认不编译


5.编译: make && make install

&&:两个一起执行


6.安装完成

启动:sbin目录下面 ./nginx
启动后查看运行状态:ps aux|grep nginx
停止:sbin目录下面 ./nginx -s stop
重启:sbin目录下面 ./nginx -s reload


创建key文件

创建根证书的私匙

openssl genrsa -out ssl.key 2048


利用私钥创建签名请求

openssl req -new -subj "/C=CH/ST=SH/L=SH/O=CompanyName/OU=ssl.com/CN=ssl.com" -key ssl.key -out ssl.csr


说明:这里/C表示国家(Country),只能是国家字母缩写,如CN、US等;/ST表示州或者省(State/Provice);/L表示城市或者地区(Locality);/O表示组织名(Organization Name);/OU其他显示内容,一般会显示在颁发者这栏。

将带口令的私钥移除(否者每次启用nginx都会输入口令)

mv ssl.key ssl.origin.key
openssl rsa -in ssl.key -out ssl.key


用Key签名证书

openssl x509 -req -days 3650 -in ssl.csr -signkey test.imdst.com.key -out ssl.crt


为HTTPS准备的证书需要注意,创建的签名请求的CN必须与域名完全一致,否则无法通过浏览器验证

私钥创建签名:CN:ssl 改为:域名


修改nginx.conf文件中的server:

server {
listen       80
4000
;
listen       443 ssl;
server_name  api.sharebo.cn;
ssl_certificate      /usr/auth/sharebo.crt;
ssl_certificate_key  /usr/auth/sharebo.key;
#其他就不贴出来了
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: