nginx 80端口重定向到443端口

2017年05月16日 13:53:58 幸福丶如此 阅读数 33387
 
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明。

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

server {
    listen ;
    server_name www.域名.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
    listen ;
    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 ;
    server_name www.test.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}

server {
    listen ;
    server_name www.test.com;
    ssl on;
    ssl_certificate   /etc/pki/CA/certs/.pem;
    ssl_certificate_key  /etc/pki/CA/certs/.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. TLSv1.;
    ssl_prefer_server_ciphers on;
    index index.php index.htm index.html;
    error_page  /.html;
    error_page     /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)(/.+)$"  ) {
            ;
        ;
    }

    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$ last;
    }
  }
}

[转帖]nginx 80端口重定向 转发到443端口的更多相关文章

  1. Centos7 Nginx 443端口反向代理springboot项目

    开发微信小程序需要部署项目到服务器.要求必须是443端口.但是一个443端口只能监听一个服务器.所以就出现了一个问题就是每次开发一个小程序就需要买一个服务器.觉得特别多余.后来查到了有一种方式就是通过 ...

  2. frps服务端与nginx可共用443端口

    转载自: https://www.ioiox.com/archives/78.html frps服务器上的nginx frps.ini配置 由于nginx占用80/443端口,frps.ini中的 v ...

  3. 设置nginx反向代理将80端口转发到9999端口

    关于linux系统不允许个人账户使用80端口,导致无法将express默认的bin/www内3000端口改为80端口一个问题,可以使用sudo来强制启动,当然,这样显然不合适,这时候,可以使用ngin ...

  4. SLB外部端口非80时---》转发到nginx---》URL跳转丢失端口的解决方案

    配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题.但一旦设置为监听其他端口,就一直跳转不正常: 如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的过程中端口丢 ...

  5. 利用nginx 虚拟主机、请求转发实现不同端口web访问

    一个服务器上挂一个网站实在是有点浪费:一个服务器上可以放多个网站:可以开启nginx的虚拟主机功能:利用访问的路径或者域名不同访问不同的文件夹:例如: 1.一台服务器上放多个网站使用nginx的配置文 ...

  6. docker上部署nginx容器80端口自动转443端口

    拉去nginx镜像 # docker pull nginx 运行nginx容器config用于拷贝nginx配置文件 # docker run --name nginxconfig -d docker ...

  7. 普通用户从非80端口启动tomcat,通过端口转发监听80端口

    linux下小于1024的端口都需要root去绑定. root权限启动tomcat是不明智的,可以使用非root权限启动tomcat监听8080端口,然后利用端口转发实现对80端口的监听. 端口转发: ...

  8. Nginx 代理到Jetty 页面跳转端口改变问题

    Nginx安装 Windows下部署Nginx只需下载安装包,解压启动服务器即可.下载官网:http://nginx.org/en/download.html 操作Nginx首先进入安装文件夹: 查看 ...

  9. iptables进行端口重定向

    使用iptables进行端口重定向,方法如下: 在机器A上操作: #iptables -t nat -A PREROUTING -d 192.168.203.173 -p tcp -m tcp --d ...

随机推荐

  1. MacOS使用zsh & oh-my-zsh

    shell 俗称壳,c 语言编写的命令解析器程序,是用户使用 linux 的桥梁. 目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash. zsh  和 bash 相似,且 ...

  2. more/less

    more less

  3. MySQL Innodb引擎和MyIASM引擎的区别

    Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL ...

  4. MySQL 5.7半同步复制技术

    一.复制架构衍生史 在谈这个特性之前,我们先来看看MySQL的复制架构衍生史. 在2000年,MySQL 3.23.15版本引入了Replication.Replication作为一种准实时同步方式, ...

  5. 决策树算法的Python实现—基于金融场景实操

    决策树是最经常使用的数据挖掘算法,本次分享jacky带你深入浅出,走进决策树的世界 基本概念 决策树(Decision Tree) 它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数 ...

  6. Codeforces 940 E.Cashback (单调队列,dp)

    Codeforces 940 E.Cashback 题意:一组数,要分为若干个区间,每个区间长度为ki(1<=ki<=n),并且对于每个区间删去前ki/c(向下取整)个小的数(即对区间升序 ...

  7. Ant环境搭建

    1.上传安装包到linux服务器 2.解压缩 tar zxvf  apache-ant-1.10.1-bin.tar.gz 3.修改环境变量 vim /etc/profile 添加以下内容 expor ...

  8. Jmeter在一次进程中如何循环执行某个步骤

    在使用Jmeret工具过程中比如我使用借款功能,如果想多借几次就需要一次次执行脚本,如果我在脚本执行过程中登陆一次,可以重复执行借款这一个操作那么就方便多了 于是就用到(循环控制器)这个功能 1.我需 ...

  9. 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)

    ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...

  10. mysql:unknown variable 'default-character-set=utf8'

    1.修改my.cnf后,执行 service mysql restart 重启数据库失败 service mysql restart Shutting down MySQL.. SUCCESS! St ...