使用nginx方式实现http转换为https的示例代码

   最近在写一个小程序,因为小程序官网上必须要使用https,之前网站都是使用的http,而且使用的阿里云服务,于是就在阿里云上购买的ssl服务,以下是配置过程。

   1.首先是去阿里云上购买ssl,当然有免费版,但是只能支持一个域名,而且同一个域名只能购买20个证书,各个明细子域名都算一个域名

 2.购买ssl证书之后去证书控制台,这个时候需要补全资料,补全之后等待审核,一般只需几分钟就能审核通过。

 3.审核之后就需要去下载证书

4.然后需要去所在服务器上配置key和pem,当然我们这里选择的是自动生成key,如果有必要可以自己去制作key,按照阿里云上的步骤操作就是了。如下所示:

 server {
  listen 443;
  server_name localhost;
  ssl on;
  root html;
  index index.html index.htm;
  ssl_certificate cert/21.pem;
  ssl_certificate_key cert/21.key;
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;
  location / {
   root html;
   index index.html index.htm;
  }
 }

这时候不要忙着去重启nginx,首要要去查看nginx是否增加ssl模块,如果没有,需要重新编译,先执行sudo apt-get install openssl libssl-dev安装ssl,然后进入nginx目录执行如下语句:

./configure \
 --prefix=/usr/local/nginx \
 --pid-path=/var/run/nginx/nginx.pid \
 --lock-path=/var/lock/nginx.lock \
 --error-log-path=/var/log/nginx/error.log \
 --http-log-path=/var/log/nginx/access.log \
 --with-http_gzip_static_module \
 --http-client-body-temp-path=/var/temp/nginx/client \
 --http-proxy-temp-path=/var/temp/nginx/proxy \
 --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
 --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
 --http-scgi-temp-path=/var/temp/nginx/scgi \
 --add-module=/home/scp/fastdfs-nginx-module/src \
 --with-http_stub_status_module \
 --with-http_ssl_module 

   执行完语句后执行make 然后 make install,这个时候如果重启nginx后,外网可能还是无法访问,因为阿里云端口需要我们自己配置,需要先去安全组添加对443端口的过滤,我这里是ubuntu系统,同时要在终端执行ufw allow 443,这时去访问调用即可。然后需要将80端口访问跳转到443

server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent;
}

到此这篇关于使用nginx方式实现http转换为https的示例代码的文章就介绍到这了,更多相关nginx http转换为https内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何通过nginx负载均衡跳转https

    web端拷贝证书与密钥 scp -rp -P52113 /application/nginx/conf/key 10.0.0.5:/application/nginx/conf/ 在nginx负载均衡服务端配置 vim /application/nginx/conf/nginx.conf worker_processes 2; error_log logs/error.log; events { worker_connections 65535; } http { include mime.ty

  • 使用Nginx实现301跳转至https的根域名示例代码

    基于 SEO 和安全性的考量,需要进行 301 跳转,以下使用 Nginx 作通用处理 实现结果 需要将以下地址都统一跳转到 https 的根域名 https://chanvinxiao.com http://chanvinxiao.com (不带 www 的 http) http://www.chanvinxiao.com (带 www 的 http) https://www.chanvinxiao.com (带 www 的 https) 301 与 302 的区别 301是永久重定向,302

  • 详解NGINX访问https跳转到http的解决方法

    问题:浏览器打开https://www.jb51.net/aaa.html,然后跳转到http://www.jb51.net/aaa.html 网站架构:用户--https--->nginx代理---http---->tomcat/nginx+php nginx待遇发给后端的请求是http协议,后端程序跳转获取到的协议是http,返回一个redirect(http header中带Location:http://www.jb51.net/aaa.html),浏览器收到location,跳转到了

  • nginx开启HSTS让浏览器强制跳转HTTPS访问详解

    在上一篇文章中我们已经实现了本地node服务使用https访问了,看上一篇文章效果可以看如下: 但是如果我们现在使用http来访问的话,访问不了.如下图所示: 因此我现在首先要做的是使用nginx配置下,当用户在浏览器下输入http请求的时候使用nginx重定向到https下即可.因此我们现在需要做一个简单的nginx重定向功能. 因此在我们的nginx中需要加如下重定向配置: server { listen xxx.abc.com; server_name xxx.abc.com; rewri

  • nginx强制使用https访问的方法(http跳转到https)

    需求简介 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com,但是很多用户不清楚https和http的区别,会很容易敲成http://test.com,这时会报出404错误,所以我需要做基于test.com域名的http向https的强制跳转 我总结了三种方式,跟大家共享一下 nginx的rewrite方法 思路 这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可 配置 server { listen 111:80; serve

  • PHP程序员玩转Linux系列 Nginx中的HTTPS详解

    PHP程序员玩转Linux系列文章: 1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转Linux系列-备份还原MySQL 5.PHP程序员玩转Linux系列-自动备份与SVN 6.PHP程序员玩转Linux系列-Linux和Windows安装nginx 7.PHP程序员玩转Linux系列-nginx初学者引导 创建一个HTTPS服务器 在nginx

  • 使用nginx方式实现http转换为https的示例代码

       最近在写一个小程序,因为小程序官网上必须要使用https,之前网站都是使用的http,而且使用的阿里云服务,于是就在阿里云上购买的ssl服务,以下是配置过程.    1.首先是去阿里云上购买ssl,当然有免费版,但是只能支持一个域名,而且同一个域名只能购买20个证书,各个明细子域名都算一个域名  2.购买ssl证书之后去证书控制台,这个时候需要补全资料,补全之后等待审核,一般只需几分钟就能审核通过.  3.审核之后就需要去下载证书 4.然后需要去所在服务器上配置key和pem,当然我们这里

  • nginx代理实现静态资源访问的示例代码

    目录 一. 目标: 二. 实现效果: 三. 具体配置 1. nginx配置本地静态工程代理 2. win10配置本地域名实现域名访问 3.nginx配置页面预览路由 一. 目标: 为了通过nginx请求静态资源(css.图片等),通过nginx代理进行页面预览. 二. 实现效果: 通过浏览器输入nginx代理地址以打开页面方式访问本地html文件,也可以通过访问代理路由访问接口实现页面预览功能.注:我演示的是在本地windows开发环境下的配置 三. 具体配置 1. nginx配置本地静态工程代

  • C++实现将长整型数转换为字符串的示例代码

    C++实现将长整型数转换为字符串 /* * Created by Chimomo */ #include <iostream> using namespace std; char *convertLongToStr(long L) { int i = 1; int n = 1; while (!(L / i < 10)) { i *= 10; ++n; } char *str = (char *) malloc(n * sizeof(char)); int j = 0; while (L

  • nginx配置支持https的示例代码

    1.简介 你还在让你的网站裸奔在网络上吗?在这里我们将搭建 免费版 HTTPS,免费的,免费的,免费的,重要的事情说三遍. 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息, 因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号.密码等支付信息, 为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTP

  • JQuery以JSON方式提交数据到服务端示例代码

    JQuery将Ajax数据请求进行了封装,从而使得该操作实现起来容易许多.以往我们要写很多的代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求的方式.地址.数据类型,以及回调方法等.下面的代码演示了如何将客户端表单数据封装成JSON格式,然后通过JQuery的Ajax请求将数据发送到服务端,并最终将数据存储到数据库中.服务端定义为一个.ashx文件,事实上你可以将服务端定义为任何能接收并处理客户端数据的类型,如Web Service,ASP.NET Page,Handler等. 首

  • Express本地测试HTTPS的示例代码

    我的环境 亚马逊(AWS)的一个ubuntu虚拟机. node openssl 生成证书 输入如下命令会在你的当前文件夹生成localhost.key和localhost.cert. openssl genrsa -out localhost.key 2048 openssl req -new -x509 -key localhost.key -out localhost.cert -days 3650 -subj /CN=localhost 其中localhost为域名. 想要换成别的域名就直

  • JS实现将人民币金额转换为大写的示例代码

    复制代码 代码如下: //人民币金额转大写程序 JavaScript版     //CopyRight Bardo QI function numToCny(num){         var capUnit = ['万','亿','万','圆',''];         var capDigit = { 2:['角','分',''], 4:['仟','佰','拾','']};         var capNum=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'

  • 详解Nginx服务器中配置全站HTTPS安全连接的方法

    HTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个: 数据保密性.保证内容在传输过程中不会被第三方查看到.就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西.     数据完整性.及时发现被第三方篡改的传输内容.就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收.     身份校验.保证数据到达用户期望的目的地.就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方. 启用

  • nginx配置ssl证书实现https访问的示例

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点"解析",进入解析页面后选择[添加解析]按钮会弹出如下页面: 主机记录这里选择@,记录值就是服务器ip地址,确认. 三,申请ca证书 在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书, 选择"免费版DV SSL",点击立即购买: 然

随机推荐