nginx实现https网站设置(SSL证书生成配置)

news/2024/5/9 10:31:50/文章来源:https://blog.csdn.net/weixin_34101229/article/details/93554567
部分内容转载自:https://www.cnblogs.com/jingxiaoniu/p/6745254.html
一、HTTPS简介
1.https简介
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据
2.https协议原理
首先,客户端与服务器建立连接,各自生成私钥和公钥,是不同的。服务器返给客户端一个公钥,然后客户端拿着这个公钥把要搜索的东西加密,称之为密文,并连并自己的公钥一起返回给服务器,服务器拿着自己的私钥解密密文,然后把响应到的数据用客户端的公钥加密,返回给客户端,客户端拿着自己的私钥解密密文,把数据呈现出来
二、证书和私钥的生成
注意:一般生成的目录,应该放在nginx/conf/ssl目录
1.创建服务器证书密钥文件 server.key:
openssl genrsa -des3 -out server.key 1024
输入密码,确认密码,自己随便定义,但是要记住,后面会用到。
2.创建服务器证书的申请文件 server.csr
openssl req -new -key server.key -out server.csr
输出内容为:
Enter pass phrase for root.key: ← 输入前面创建的密码 
Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音 
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不输入 
Common Name (eg, YOUR name) []: ← 此时不输入 
Email Address []:admin@mycompany.com ← 电子邮箱,可随意填
Please enter the following ‘extra’ attributes 
to be sent with your certificate request 
A challenge password []: ← 可以不输入 
An optional company name []: ← 可以不输入
4.备份一份服务器密钥文件
cp server.key server.key.org
5.去除文件口令
openssl rsa -in server.key.org -out server.key
6.生成证书文件server.crt
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    三、配置文件

1.下面为配置文件 /usr/local/nginx/conf/vhost/daj.conf

server{
#比起默认的80 使用了443 默认 是ssl方式  多出default之后的ssl
        listen 443 default ssl;
#default 可省略
#开启  如果把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用
        ssl on;
#证书(公钥.发送到客户端的)
        ssl_certificate ssl/server.crt;
#私钥,
        ssl_certificate_key ssl/server.key;
#下面是绑定域名
        server_name www.daj.com;
        location / {
#禁止跳转
        proxy_redirect off;
#代理淘宝
proxy_pass https://www.tao.com/;  
        }        
}

四、开启nginx的ssl模块
1.the "ssl" parameter requires ngx_http_ssl_module  in /usr/local/nginx/conf/nginx.conf:37
原因是nginx缺少http_ssl_module模块,编译安装时带上--with-http_ssl_module配置就可以了
2.如果已经安装过nginx,想要添加模块看下面
1)切换到nginx源码包
cd /usr/local/src/nginx-1.11.3
2)查看ngixn原有的模块
/usr/local/nginx/sbin/nginx -V
3)重新配置
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
4)重新编译,不需要make  install安装。否则会覆盖
make
5)备份原有已经安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
6)将刚刚编译好的nginx覆盖掉原来的nginx(ngixn必须停止)
cp ./objs/nginx /usr/local/nginx/sbin/ 
这时,会提示是否覆盖,请输入yes,直接回车默认不覆盖
7)启动nginx,查看nginx模块,发现已经添加
/usr/local/nginx/sbin/nginx -V 

 

nginx 配置:

nginx.conf 配置:

user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;#tcp_nopush     on;client_max_body_size 10m;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       80;server_name  172.16.21.123;location / {rewrite ^(.*)$ https://172.16.21.123:433$1 permanent;
    }
#    rewrite ^(.*)$ https://$host$1 permanent;
    }server {#    listen       80;listen       433;ssl   on;ssl_certificate        ssl/server.crt;ssl_certificate_key    ssl/server.key;ssl_session_timeout    5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers   on;server_name  172.16.21.123;
#    rewrite ^(.*)$ https://172.16.21.123$1 permanent;    
#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /usr/local/projects/pages/dist;index  index.html index.htm;}location ^~/api/ {proxy_pass         http://172.16.21.161:8899/;
        proxy_redirect     off;proxy_set_header   Host             $host;proxy_set_header   X-Real-IP        $remote_addr;proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;
        #}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one
        ##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

 

转载于:https://www.cnblogs.com/Garnett-Boy/p/11076210.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_768631.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何快速搭建个人网站

一般来说,搭建网站,首先需要借助一个云平台,具有存储库的功能,上面的东西发布后,能够被网络上所有人访问到,当然这云平台是有自己的一套机制进行后台的设定与运作的,我们只是在基础上使用&#…

利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变

查看本章节 查看作业目录 需求说明: 利用 jQuery 操作页面元素的方法,实现电商网站购物车页面商品数量的增加和减少操作,要求单项价格和总价随着数量的改变而改变当用户单击“”按钮时,文本框中的商品数量增加 1,单项…

利用自定义动画 animate() 方法,实现某图书网站中“近 7 日畅销榜”中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠标移开时,继续滚动

查看本章节 查看作业目录 需求说明: 利用自定义动画 animate() 方法,实现某图书网站中“近 7 日畅销榜”中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠标移开时,继续滚动 实现思路: 在…

快看!❤️又一超实用浏览器插件!常用网站自动整合,JSON格式化,CSDN全站去广告!多种工具一键调用。开发者的福音!

其实这个插件才出来的时候博主也下载了使用过,并没有什么亮点,那时候甚至觉得有点多余,因为CSDN全站去广告啥的,早就安装了油猴脚本,广告?不存在的嘿嘿。。 就在前几天看见CSDN的活动在推荐这款插件&#x…

outlook搜索栏跑到上面去了_学习网站seo优化技巧,先了解搜索引擎搜索原理-行业动态...

泰州网站建设好之后,首先就要对网站进行SEO优化。那搜索引擎优化的主要任务之一,就是确定网站的搜索引擎友好性,因而,网站优化的每个环节都与搜索引擎存在必定的联络,研讨搜索引擎优化实际上是对搜索引擎作业进程的逆向…

报错:清除网站内搜索框中的历史记录?

问题:我在搜索框内点击一下后,就会出现一些搜索记录,可有些关键词我并没有在该网站搜索过,而是与这个网站无关的一些关键词。而且不同的网站上似乎关键词有重叠。如下图所示,请问应该怎么清除这些历史记录呢&#xff1…

简单网页设计作品代码_10个国外网站精选作品颠覆你对网页排版设计的认知

网站首页排版设计可以作为一个网站基础风格设计定调的页面之一。网站内页的各种版式、样式的演变都需要遵循首页的基本格调,包含布局的比例、配色、图标的风格、字体的样式及规范、页头页尾的公用组件等等。也许因为有了这些规范规定,很多新入行设计师以…

vs2010里面 新建网站里面的 asp.net网站 和 新建项目里面的 asp.net Web应用程序 的区别 (下)...

二:下面是 通过 新建项目 来创建 ASP.NET web 应用程序 下面我们创建 数据库DAL层 和 实体类层 Model 他会自动生成 DAL 文件夹 我们继续 Model 层。方法同上,就不上图了。 然后我们来添加一个 工具类库 。这个工具类库,不是现在创建的&am…

快速获取一个网站的所有资源,图片,html,css,js......扒站,仿站必备工具

今天介绍一款软件,可以快速获取一个网站的所有资源,图片,html,css,js...... 以获取某车官网为例 我来展示一下这个软件的功能. 输入网站地址和网站要保存的文件夹 如果网站名称后我们可以扫描一下网站, 以便我们更好的筛选资源,剔除不要的链接,添加爬取得链接 在这里也可以设…

做网站注意事项,网站建设标准流程

背景介绍: 现如今是互联网的时代,任何东西都可以借助互联网迅速传播到世界各地,另外网站也是个人,企业的名片,可以帮助公司扩展客户,树立企业形象从而达到招揽客户,创造利润的目的。网上也有很多发布信息的…

php网站升级包,CmsEasy 5.0to5.1 升级包

CmsEasy 5.0to5.1 升级包作者:jackie 发布时间:2012-07-15 05:53:48 浏览 :版本:V 5.1大小:2.38 MB编码:UTF-8更新日期:2012-07-08 00:00:001.升级概述:从CmsEasy5.0升级到CmsEasy5.12.升级…

vue 项目从 report.html 分析网站性能优化

这个页面是webpack的打包分析报告,我们根据这个页面,可看到那些包占比大,那些包占比小,那个组件大. vue-cli的打包策略是将node_module中的包打包成一个chukk-vendors.js 其他的js 如assets中的打包成app.js 优化策略是 找到其中…

js移除掉当前页面的所有外链 优化SEO 去掉页面特定域名的链接

目前有个文章详情页面, 文章内容来处是后台管理的一个富文本编辑器, 现在有个问题就是,将其他页面的内容,复制到富文本编辑器中,这样有可能有些外链,这些外链无疑会降价网站的seo权重. 所以需要一个办法,将外链找出来,并进行处理,移除或者添加一个前缀,以防seo权重,或流量流…

分享26个优秀的国外广告设计公司网站作品案例

为了能表现自己团队的设计水平,广告公司的网站都设计得非常创意,他们试图通过优秀的网站设计来吸引更多的客户。这篇文章收集的这26个独具创意的国外广告公司网站设计相信能给你带来视觉冲击,一起欣赏。 您可能还喜欢 55个五彩缤纷的网页设计…

如何快速获取一个网站的所有资源 如何快速获取一个网站的所有图片 如何快速获取一个网站的所有css

今天介绍一款软件,可以快速获取一个网站的所有资源,图片,html,css,js...... 以获取某车官网为例 我来展示一下这个软件的功能. 输入网站地址和网站要保存的文件夹 如果网站名称后我们可以扫描一下网站, 以便我们更好的筛选资源,剔除不要的链接,添加爬取得链接 在这里也可以设…

Check Host:实时监控网站或者服务器是否可以访问

如果你拥有一个网站,那么最重要的事情就是要保证它24小时都能够访问。不过国内的虚拟主机服务非常糟糕,经常会出现各种状况,所以我们需要一个软件,可以让我们第一时间知道网站出现了无法访问的情况,从而通知售后人员解…

Windows云服务器上部署ASP.NET网站详解(新手适用)

操作系统:Windows Server 2012 R2 标准版 64位简体中文版 数据库:SQL Server 2008 R2 SP2 - Express Edition IDE:Visual Studio 2017 新手请尽量保证自己服务器的操作系统、数据库版本和上述一致! 远程登录服务器并向桌面上添…

Docker部署nginx并使用https+二级域名访问静态网站

1. 安装docker(略) 2. 拉取nginx docker pull nginx3. 进入nginx,将相关文件和目录拷贝到宿主机上(这里为腾讯云centos7.8)关键路径如下: # nginx的主配置文件 /etc/nginx/nginx.conf # 虚拟主机的配置文…

快速下载一个网站

有时候我们需要分析一个网站,或者基于一个网站进行魔改,这个就需要一些特殊的手段将网站源码下载到本地了,其实目前大部分网站都是有代码压缩的,很难去有修改。 这里我就教大家如何快速获取一个网站的所有资源,包括源码…

android wap网站自动适应

做个整理。 研究了一下新浪的wap网站&#xff0c;发现原来我们的head存在着这样的差异……<%page contentType"text/html;charsetUTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"><h…