nginx 80端口重定向到443端口

nginx 80端口重定向到443端口

nginx 80端口重定向到443端口,也就是http访问自动跳转到https
配置如下:
一、按照如下格式修改nginx.conf 配置文件,80端口会自动转给443端口,这样就强制使用SSL证书加密了。访问http的时候会自动跳转到https上面。

server {
    listen 80;
    server_name www.域名.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
    listen 443;
    server_name www.域名.com;
    root /home/wwwroot;
    ssl on;
    ssl_certificate /etc/nginx/certs/server.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;
    ....
}

 

   

备注: ${server_name}可以换成$host

二、重启nginx。

三、示例(以下是我们生产的配置)

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

server {
    listen 443;
    server_name www.test.com;
    ssl on;
    ssl_certificate   /etc/pki/CA/certs/214321311540956.pem;
    ssl_certificate_key  /etc/pki/CA/certs/214321311540956.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;   
    index index.php index.htm index.html;
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location ~ \.php {
    root /alidata/www/html;
    fastcgi_pass unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include   fastcgi.conf;

    set $path_info "";
    set $fastcgi_script_name_new $fastcgi_script_name;

        if ($fastcgi_script_name ~*   "^(.+\.php)(/.+)$"  ) {
            set $fastcgi_script_name_new $1;
        set $path_info $2;
    }

    fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name_new;
    fastcgi_param   SCRIPT_NAME   $fastcgi_script_name_new;                    
    fastcgi_param   PATH_INFO $path_info;
    }

    location / {
    root /alidata/www/html;
    index index.php index.html index.htm;
    if (!-e  $request_filename){
        rewrite ^(.*)$ /index.php$1 last;
    }
  }
}

 

———————
作者:幸福丶如此
来源:CSDN
原文:https://blog.csdn.net/m0_37886429/article/details/72271983
版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112788.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ES6 Promise用法小结

    ES6 Promise用法小结目录1.什么是Promisereject的用法catch的用法all的用法race的用法1.什么是PromisePromise是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。Promise对象有以下两个特点。(1)对象的状态不受外界影响。Promise对象代表一个异步操…

  • vue 计数器_计数器是什么

    vue 计数器_计数器是什么计数器的实现在页面上简单实现一个计数器<!DOCTYPEhtml><htmllang="en"><head><metach

  • javascript 如何添加元素

    javascript 如何添加元素//利用concatfunctionprepend(arr,item){return[item].concat(arr);}//使用push.applyfunctionprepend(arr,item){varnewArr=[item];[].push.apply(newArr,arr);returnnewArr;}//利用slice+unshift/splicefunctionprepend(arr,item){v.

  • 使用 HTML、CSS 和 JavaScript 的简单模拟时钟「建议收藏」

    使用 HTML、CSS 和 JavaScript 的简单模拟时钟「建议收藏」如果你想使用JavaScript制作一个模拟时钟,那么本文将对你有所帮助。我们都知道时钟有两种,一种是模拟的,一种是数字的。虽然数字时钟被广泛使用,但模拟时钟也被很多人所喜爱。????使用HTML、CSS和JavaScript的简单模拟时钟????JavaScript模拟时钟[现场演示]????使用HTML、CSS和JavaScript的简单模拟时钟????第1步:创建时钟的基本结构????第2步:在时钟上标记1到12????第3步:制作三只指针来指示

  • 【Unity开发小技巧】打包IOS版本须知流程(移动)

    【Unity开发小技巧】打包IOS版本须知流程(移动)Unity是个开放性的平台,打包时也可以选择多种打包类型,几乎包含了所有的平台,目前主流Android,iOS平台,Android平台可以直接使用Unity自行打包,但iOS平台需要借助Mac电脑进行打包,本博客就iOS打包进行一个简单的说明,从开发到上线AppStore的所有流程。准备Mac电脑一台,苹果开发者账号一个一:unity打包Ios,Xcode工程打开Mac上的Unity,假设现在已经是开发完毕的状态,直接进行打包打开之后直接点File-BuildSettings然后将你的当..

  • arcgis入门到精通视频教程下载连接[通俗易懂]

    arcgis入门到精通视频教程下载连接[通俗易懂]04空间数据Coverage的创建.wmv05空间数据Geodatabase数据库创建.wmv06空间可视化工具ArcMap.wmv07空间数据编辑.avi08空间数据的转换.wmv09空间数据的处理.wmv10空与制图间数据的可视化.wmv11空间分析工具.wmv12ArcGIS矢量数据的空间分析.wmv13Arcgis栅格数据的空间分析.wmv14-1ArcGIS三维分析.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号