1.安装nginx

yum install nginx

2.启动nginx服务

service nginx start

3.开启防火墙80端口,云服务器和本地虚拟服务器各有不同,不再赘述。

4.访问你的域名,出现nginx页面,成功。

关于https,首先需要下载ssl证书,本人使用的腾讯云服务器,域名也是腾讯上买的域名服务,所以直接在腾讯云申请了ssl dv证书。

还有一种方式通过openssl自己生成ssl证书,个人没尝试过,网上教程颇多。

5.ssl证书申请
这里建议使用腾讯云申请免费ssl证书,一年免费,单域名模式下。当然如果有预算直接买泛域名的更好。

注:可以申请多个单域名模式证书,比如,www.yourdomain.com,    blog.yourdomain.com,  这样就可以为二级域名设置https访问。

大约半小时,腾讯就能审核通过。

参照腾讯的说明验证通过后可以下载证书到本地,目录如下:

E:\DOOFEETECH\.公司\IT运维\www.yourdomain.COM
│ www.yourdomain.com.csr
│
├─Apache
│ 1_root_bundle.crt
│ 2_www.yourdomain.com.crt
│ 3_www.yourdomain.com.key
│
├─IIS
│ www.yourdomain.com.pfx
│
├─Nginx
│ 1_www.yourdomain.com_bundle.crt
│ 2_www.yourdomain.com.key
│
└─Tomcat
www.yourdomain.com.jks

各种主流web服务器的都提供了,这里我们用nginx的。

6.将ssl证书上传至服务器,个人单独建立了ssl文件目录。

7.配置nginx.conf

我忘了nginx默认的配置文件在哪个位置,使用如下命令
nginx -t

发现默认的nginx.conf 在/etc/nginx/nginx.con

配置如下:

首先修改对80端口的监听

server {
listen default_server;
listen [::]: default_server;
server_name _;
#经过试验发现,在server_name里面可以不指定域名,两种方式都OK
#server_name www.yourdomain.com;
#rewrite ^ https://$host$request_uri? permanent;
rewrite ^(.*)$ https://$host$1 permanent;
root /usr/share/nginx/html; # Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; location / {
} error_page 404 /404.html;
location = /40x.html {
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

开启防火墙443端口,并启用对nginx中对443端口的监听

server {
listen ssl http2 default_server;
listen [::]: ssl http2 default_server;
#server_name _;
server_name www.yourdomain.com;
root /usr/share/nginx/html; ssl_certificate "/home/ssl/keys/1_www.yourdomain.com_bundle.crt";
ssl_certificate_key "/home/ssl/keys/2_www.yourdomain.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; #
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
location / { tcp_nodelay on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
}

8.重启nginx或者重新加载配置

重启 service nginx restart

重载 nginx -s reload

至此,使用http访问你的域名,会自动跳转到https。

参考:

https://www.jianshu.com/p/c0d2e5e77b0c

https://www.jianshu.com/p/9523d888cf77

https://www.jianshu.com/p/2a26539a9818

https://blog.csdn.net/h330531987/article/details/81481426

https://blog.csdn.net/zf5250/article/details/80429795

CentOS 7 配置nginx并默认强制使用https对http进行跳转的更多相关文章

  1. CentOS 7 配置 Nginx 正向代理 http、https 最详解

    手头项目中有使用到 nginx,因为使用的三方云服务器,想上外网需要购买外网IP的,可是有些需要用到外网却不常用的主机也挂个外网IP有点浪费了,便想使用nginx的反向代理来实现多台内网服务器使用一台 ...

  2. CentOS 7 配置 nginx php-fpm 详细教程

    CentOS 7 配置 Nginx 的步骤如下: 首先更新 yum,没有安装 yum 的自行安装 yum update 1. 安装 Nginx yum install nginx 开启 Nginx 并 ...

  3. [转帖]一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS

    一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS https://home.cnblogs.com/u/beyang/ 一台服务器,两个域名 首先购买https,获取到CA证 ...

  4. 【CentOs】配置nginx

    参考资料:http://nginx.org/en/linux_packages.html#stable 1.添加nginx.repo 2.配置nginx 3.启动nginx 1.添加nginx.rep ...

  5. centos下配置nginx支持php

    添加nginx 默认主页index.php vim .../etc/nginx/conf.d/default.conf location / { root   /usr/share/nginx/htm ...

  6. CentOS 中 配置 Nginx 支持 https

    一.基础设置: .yum -y update .yum -y install openssl* .cd /usr/local/nginx/conf .mkdir ./ssl .cd ./ssl # 在 ...

  7. 一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS

    一台服务器,两个域名 首先购买https,获取到CA证书,两个域名就得到两套证书 第二步:现在就是Nginx和OpenSSL的安装与配置(这里注意,一般情况下一个IP只支持一个SSL证书,那么我们现在 ...

  8. 为二级域名注册ssl证书,并强制使用https对http进行跳转

    服务器上仍然使用nginx进行代理 1.为二级域名申请ssl证书,如blog.yourdomain.com,见前文. 2.在域名解析服务中,为二级域名添加解析记录 3.nginx默认读取/etc/ng ...

  9. CentOS下配置nginx conf/koi-win为同一文件的各类错误

    今天配置CentOS6.5下安装Nginx + php7 + mysql5.7.15遇到了一些坑.本来家里的电脑在配置环境的时候没有问题,拿去公司的电脑上就是到处报错.不知道是不是人品问题.今晚在家重 ...

随机推荐

  1. Ubuntu Win10双系统重启ubuntu出现黑屏情况 Ubuntu引导修复

    step 1 : 准备一个Ubuntu grub启动盘 step 2 : 进入Ubuntu启动盘的 Try Ubuntu without install step 3 : 使用终端输入以下命令,记住检 ...

  2. Typescript 和 Javascript之间的区别

    TypeScript 和 JavaScript 是目前项目开发中较为流行的两种脚本语言,我们已经熟知 TypeScript 是 JavaScript 的一个超集,但是 TypeScript 与 Jav ...

  3. C#发送内置图片的html格式邮件的代码

    将写内容过程经常用的内容段备份一次,下面的内容是关于C#发送内置图片的html格式邮件的内容,应该对码农们也有用处.MailMessage m = new MailMessage();m.Subjec ...

  4. mysql查看所有触发器以及存储过程等操作集合

    今天在做每个月定时扣费的功能 用到了Mysql的Event Scheduler 昨完之后发现一个问题 Event Scheduler 默认是不开启的 要在mysql内执行SET GLOBAL even ...

  5. 移动端开发调试工具神器--Weinre使用方法

    前端开发调试必备: DOM操作断点调试: debugger断点调试: native方法hook(个人暂时还没有试过,不知效果如何): 远程映射本地测试: Weinre移动调试(详细介绍): 像Dom断 ...

  6. 第十四节 JS面向对象基础

    什么是面向对象:在不需要知道它内部结构和原理的情况下,能够有效的使用它,比如,电视.洗衣机等也可以被定义为对象 什么是对象:在Java中对象就是“类的实体化”,在JavaScript中基本相同:对象是 ...

  7. AOP之proceedingjoinpoint和joinpoint区别(获取各对象备忘)、动态代理机制及获取原理代理对象、获取Mybatis Mapper接口原始对象

    现在AOP的场景越来越多,所以我们有必要理解下和AOP相关的一些概念和机制. import org.aspectj.lang.reflect.SourceLocation; public interf ...

  8. Codeforces Gym 101190M Mole Tunnels - 费用流

    题目传送门 传送门 题目大意 $m$只鼹鼠有$n$个巢穴,$n - 1$条长度为$1$的通道将它们连通且第$i(i > 1)$个巢穴与第$\left\lfloor \frac{i}{2}\rig ...

  9. 解决js的 Math取正弦值 余弦值不准确的问题

    //角度 var  vAngle=90: //正弦值 var vSin=Math.round(Math.sin((vAngle * Math.PI/180)) * 1000000) / 1000000 ...

  10. Java基础学习-常量和变量

    1.常量概述     -在程序执行的过程中,其值不可以发生改变的量. 2.常量的分类     -字符串常量    用双引号括起来的内容("HelloWorld")     -整数常 ...