一、环境准备

  1、安装nginx时,需要将--with-http_ssl_module 模块开启。

  2、关闭selinux和防火墙

  3、在 /usr/local/nginx/html/ 目录下添加bbs目录,并且在里面添加index.html,里面内容随便加。

二、修改nginx.conf 配置文件

  添加server,由于https加密之后的访问端口是443,所以server服务器要改成443.

server {
listen 443;
server_name bbs.com;
index index.html index.htm index.php;
root html/blog;
access_log logs/bbs-access.log main;
location ~ \.php$ {
root html/bbs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
ssl on;
ssl_certificate /usr/local/nginx/conf/ssl/testnginx.crt; #证书路径
ssl_certificate_key /usr/local/nginx/conf/ssl/testnginx.key; #秘钥路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
}

但是,浏览器一般支持的80端口,所以要再添加一个server,将请求强制转换为80端口

  rewrite 的作用是  将请求重定向到https://下

server {
listen 80;
server_name bbs.com;
rewrite ^(.*)$ https://bbs.com permanent;
root html/bbs;
index index.html index.htm;
}

三、生成加密证书和秘钥

  1、生成秘钥

  

openssl genrsa -out testnginx.key 1024

  2、生成证书申请

  

openssl req -new -key testnginx.key -out testnginx.csr

  3、生成证书

openssl x509 -req -days 365 -sha256 -in testnginx.csr -signkey testnginx.key -out testnginx.crt

然后将证书和秘钥放到  /usr/local/nginx/conf/ssl/  目录下

 测试

windows下

  编辑 C:\Windows\System32\drivers\etc\ 下的hosts文件

  在最下面添加

  

192.168.88.10   bbs.com

  意思是将bbs.com 解析

  实验效果:

  

LINUX学习-Nginx实现https的更多相关文章

  1. 【转】Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  2. 云端搭建Linux学习环境 链接https://edu.aliyun.com/article/19 (阿里云ECS服务器 )课堂

    云端搭建Linux学习环境 链接https://edu.aliyun.com/article/19 1. 开通云服务器 2 1.包年包月   按量付费(适合测试数据的时候) 2 2.地域   服务器数 ...

  3. Linux下nginx配置https协议访问

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  4. Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  5. LINUX学习-Nginx+JDK+Tomcat+Mysql搭建JAVA WEB

    一.安装JDK环境 1.先到  https://www.oracle.com/java/technologies/javase-jdk8-downloads.html  下载linux jdk-8u2 ...

  6. linux系统nginx的https的跳转

    环境:系统ubuntu16 申请证书是腾讯云免费证书 首先我在安装nginx SSL证书的时候犯了个错误,nginx是需要安装SSl的模块不然没法配置完成.需要安装一个 http_ssl_module ...

  7. LINUX学习-Nginx服务器的反向代理和负载均衡

    一.准备环境 1.准备3台服务器: 1)192.168.88.10 --Nginx服务器 2)192.168.88.20 --apache服务器 3)192.168.88.30 --apache服务器 ...

  8. LINUX学习--nginx服务器的安装

    一.安装环境 操作系统CentOS6.8 关闭SeLinux和iptables防火墙 二.网络yum源 将下面的软件下载到  /etc/yum.repos.d/   的目录下 官方基础:http:// ...

  9. [转帖]linux学习问题总结

    linux学习问题总结 https://www.cnblogs.com/chenfangzhi/p/10661946.html 学习作者的思路 目录 一.环境变量和普通变量的区别 二.rsyslog和 ...

随机推荐

  1. lnmp环境搭建的总结

    //centos安装php7: http://blog.csdn.net/21aspnet/article/details/47708763//nginx 更改网站根目录 http://blog.cs ...

  2. 关于input单选框的radio属性

    最近在做前端页面的时候遇到一个问题(后端php猴子前端不怎么写) 我写了一段代码: <form action="">        <label for=&quo ...

  3. 任务信息的高级选项(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 张同学说,[高级]选项卡很重要,嗯,本妖深以为然! 这里的[高级]选项卡,是指[任务信息]里的,在默认视图下,只要双击某任 ...

  4. Linux centos 安装Docker

    安装docker需要centos7 内核3.1以上 基本上centos7以上的都支持, 然后先更新到最新 sudo yum update 然后直接安装 sudo yum install docker ...

  5. WPF之交互触发器(CallMethodAction)学习

    需求背景: 当我们需要制作画板时,我们的VM需要记录我们的坐标并保存到Path的Data中,用我们普通的Command是无法办到的,这时我们就衍生出来了一个交互触发器CallMethodAction ...

  6. LuoguP7337 『MdOI R4』Fun 题解

    Content 有 \(n\) 个人去打比赛.给出第 \(i\) 个人的交通方式 \(t_i\) 和颓废值 \(q_i\)(均以 \(0/1\) 表示).如果 \(t_i=1,q_i=1\) 的人数 ...

  7. 【超详细】安全测试===sqlmap使用心得(零)

    零.前言 这篇文章是学习Sqlmap的用法时做的笔记,记录了Sqlmap的常见.基础用法. 一.Sqlmap是什么 Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支 ...

  8. Linux使用docker安装Nginx

    拉取镜像 docker pull nginx 启动镜像 docker run -d -p 8000:8000 -p 443:443 --name nginx -v /data/nginx/www:/u ...

  9. JAVA火星坐标系、百度坐标系、84坐标系相互转换工具类

    /** * 坐标系转换工具类 */ public class PositionUtil { public static double pi = 3.1415926535897932384626; pu ...

  10. JAVA删除某个文件夹(递归删除文件夹的所有文件)

    /** * 递归删除文件夹下所有内容 最后删除该文件夹 * @param filePath 要删除的文件夹路径 * @return */ public boolean deleteFiles(Stri ...