将http请求升级为https请求

前言:app上架的时候审核需求中的一条就是需要用域名访问,并且必须用https请求。

http和https的区别:

1.HTTP协议是一种使用明文数据传输的网络协议。明文数据传输的隐患就不用我多说了吧。而HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。这个加密就是ssl证书,

下面我们就要用到这个ssl证书,这个证书是需要域名申请账号去申请并绑定域名。成功后就可以下载ssl证书,我们需要的部分是后缀为.pem的证书和后后缀为.key的秘钥文件。、

主菜来了:

一.在nginx.conf里面需要改变的server的配置,原来http默认端口是80.https默认端口是443.在service_name下面增加如下配置:

server {
                 listen  8090 ssl;
                server_name  需要访问的域名                      

                ssl_certificate   /usr/local/nginx/https/3080940_bjytly.hhtz.gov.cn.pem;
                ssl_certificate_key  /usr/local/nginx/https/3080940_bjytly.hhtz.gov.cn.key;
                ssl_session_cache  shared:SSL:1m;
                ssl_session_timeout  5m;
                ssl_ciphers  HIGH:!aNULL:!MD5;
                ssl_protocols  SSLv2 SSLv3 TLSv1;
                ssl_prefer_server_ciphers  on;
}

备注:监听端口后面一定要加ssl,ssl_certificate  和ssl_certificate_key  的路径自己定,只要将.pem和.key的文件放到自己想要的位置就可以。配置完后校验nginx配置的时候如果出现了nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:121报错。那么就是nginx缺少了ssl模块。我们新增ssl模块就行。如果没有报错,那么下面请忽略。

二.nginx新增ssl模块(这里执行的时候先备份下nginx.conf文件以防万一)

1.进入ngins安装包的位置。如:我的是:/usr/local/nginx-1.4.2

2.查看nginx现在配置命令:/usr/local/nginx/sbin/nginx -V        如下图:

箭头指的就是已有模块。我是因为配置好了,所以后面会有http_ssl_module,没配的是没有的。如果箭头所指的位置有值,复制下来。执行命令:./configure --刚刚复制的值(如果有的话) --with-http_ssl_module  

3.重新编译nginx命令: make

4.关闭现在运行的nginx。命令:/usr/local/nginx/sbin/nginx -s stop

如果还是报错:nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:121

就直接杀掉nginx进程

5.将编译好的nginx覆盖原有的nginx

命令:cp ./objs/nginx /usr/local/nginx/sbin/

系统会提示是否覆盖,输入y。

6.启动nginx就行了,可以直接用https访问了。

nginx中有几个常用的命令:./nginx -s reload (重启nginx命令)其中的-s 代表的是向主进程发送信号。其中信号有 4 个,stop, quit, reopen,         reload。./nginx -c /usr/local/nginx/conf/nginx.conf(nginx启动时读取指定配置文件) -c 指定一个文件,即指定配件文件。nginx启动默认读取的是conf/nginx.conf。

三.如果要直接输入域名让默认的http协议转为https

1.在新增的ssl配置下加一行配置:error_page 497 301 https://$http_host$request_uri;

备注:这是当https监听端口不是默认443的时候可以这样做。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值