需求简介

现在网站都是https访问了,再用http会显得很low,所以我要把网站设置为默认的https访问。

1nginx的rewrite方法

这应该是大家最容易想到的方法,将所有的http请求通过rewrite重写到https上即可

server {

listen 192.168.1.111:;

server_name  chaogg.com; 

rewrite ^(.*)$ https://$host$1 permanent;

}

2nginx的497状态码

error code 497

497 - normal request was sent to HTTPS

 当此虚拟站点只允许https访问时,当用http访问时nginx会报出497错误码
 
利用error_page命令将497状态码的链接重定向到https://localhost这个域名上

server {

  listen 192.168.1.11:;    #ssl端口

  listen 192.168.1.11:;    #用户习惯用http访问,加上80,后面通过497状态码让它自动跳到443端口

   server_name chaogg.com;

   #为一个server{......}开启ssl支持

   ssl on;

   #指定PEM格式的证书文件

   ssl_certificate /etc/nginx/chaogg.pem;

   #指定PEM格式的私钥文件

   ssl_certificate_key /etc/nginx/chaogg.key; 

   #让http请求重定向到https请求

    error_page     https://$host$uri?$args;
}

3index.html刷新网页

上述两种方法均会耗费服务器的资源,我们用curl访问baidu.com试一下,看百度的公司是如何实现baidu.com向www.baidu.com的跳转
 
 
可以看到百度很巧妙的利用meta的刷新作用,将baidu.com跳转到www.baidu.com.因此我们可以基于http://chaogg.com的虚拟主机路径下也写一个index.html,内容就是http向https的跳转 

index.html

<html>

<meta http-equiv="refresh" content="0;url=https://chaogg.com/">

</html>

nginx虚拟主机配置

server {

listen 192.168.1.11:;

server_name    chaogg.com; 

location / {

#index.html放在虚拟主机监听的根目录下

root /srv/www/http.chaogg.com/;

}

#将404的页面重定向到https的首页

error_page        https://chaogg.com/;

}
 

上述三种方法均可以实现基于nginx强制将http请求跳转到https请求,请放心使用。

站点默认访问https的更多相关文章

  1. IIS7配置HTTPS+默认访问https路径

    一.下载证书(这里我使用的是阿里云免费的证书) 文件说明: 1. 1532858285913.key(证书私钥文件).1532858285913.pem(证书文件).1532858285913.pfx ...

  2. 【原创】CA证书申请+IIS配置HTTPS+默认访问https路径

    一.CA证书申请 (一). 新StartSSL注册帐号 1.    StartSSL官网 官方网站:https://www.startssl.com/ 2.    进入到StartSSL后,直接点击注 ...

  3. CA证书申请+IIS配置HTTPS+默认访问https路径

    引用别人博文内容:https://www.cnblogs.com/lichunting/p/9274422.html 一.CA证书申请 (一). 新StartSSL注册帐号 1.    StartSS ...

  4. Web站点错误提示页面和默认访问页面设置

    1.asp.net 定制简单的错误处理页面 通常web应用程序在发布后,为了给用户一个友好界面和使用体验,都会在错误发生时跳转至一个自定义的错误页面,而不是asp.net向用户暴露出来的详细的异常列表 ...

  5. Android如何使用WebView访问https的网站

    Android中可以用WebView来访问http和https的网站,但是默认访问https网站时,假如证书不被Android承认,会出现空白页面,且不会有任何提示信息,这时我们必须加多一些配置. 此 ...

  6. php网站修改默认访问文件的nginx配置

    搭建好lnmp后,有时候并不需要直接访问index.php,配置其他的默认访问文件比如index.html这时候需要配置一下nginx才能访问到你想要设置的文件 直接上代码,如下是我的配置的一份简单的 ...

  7. curl+个人证书(又叫客户端证书)访问https站点

    摘自http://blog.csdn.net/chary8088/article/details/22990741 curl+个人证书(又叫客户端证书)访问https站点 目前,大公司的OA管理系统( ...

  8. 用curl访问HTTPS站点并登录

    开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功 ...

  9. IIS 使用OpenSSL 生成的自签名证书,然后使用SingalR 客户端访问Https 站点通信

    使用SignalR 的客户端去发送消息给使用 https 部署的站点,官方文档目前并没有详细的教程,所以在此记录下步骤: 使用管理员身份打开cmd 窗口,选择一个整数保存文件夹的地址,切换到对应的文件 ...

随机推荐

  1. 你真的了解HTML吗?–雅虎面试题

    http://helloweb.wang/jingyan~jiqiao/589.html

  2. Notepad++下载需要的插件(如何在Notepad++中手动下载需要的插件)

    需求说明: 下载在实际工作中需要的Notepad++插件,或者是因为Notepadd++设置的原因导致不能直接在软件中显示插件. 即手动登录到指定的链接中进行插件的下载. 操作过程: 1.以xmlto ...

  3. C# 哈希加密

    1.方法一: [c-sharp] view plaincopy //适用于C#语言 //使用前需导入以下命名空间:using System.Web.Security; //第一个参数为需加密的字符串, ...

  4. swift - UIAlertView 的用法

    1,创建一个alertview,并带有“确定”和“取消”两个按钮 (注:在这里使用alertview,会报警告,那是因为从ios 8 以后,建议使用UIAlertviewController) //警 ...

  5. 走进ELK原理

    日志的分析在联调和后期维护是非常重要. 今天让我们进入ELK...让我们一起感受这个强大的日志收集,日志分析存储,日志查询界面化显示的震撼效果吧. Elasticsearch是个开源分布式搜索引擎,它 ...

  6. 如何利用h5将视频设置为背景

    我们常常有着将视频作为网页背景的需要,但是在设置时也经常差强人意,今天设置了一下,可以基本达到要求了,可能有些小细节做的不是太好,希望指出来,一起进步 第一步:准备工作 工欲善其事必先利其器,我们首先 ...

  7. java基础---->java中Properties的使用

    Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支 持的配置文件,配置文件中很多变量是经常改变的,这样做也 ...

  8. 关于Java中按值传递和按引用传递的问题详解

    写了两个方法,一个是多关键字的快速排序,一个是基于多关键字的基速排序.两个方法的参数列表是一样一样的,但是快速排序正常工作,但是基数排序传出来的参数一点没有改变,苦思冥想了半天也没想通是怎么回事,于是 ...

  9. Android 跨进程调用忽略权限

    Framework层: @Override    public StackInfo getStackInfo(int stackId) {        final int callingUid = ...

  10. 用C或C++为Python编写模块

    1.使用c或c++编写对应的函数例如: //modtest.c int abs(int number){ ){ return -number; } else{ return number; } } 2 ...