CentOS 7 配置nginx并默认强制使用https对http进行跳转
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进行跳转的更多相关文章
- CentOS 7 配置 Nginx 正向代理 http、https 最详解
手头项目中有使用到 nginx,因为使用的三方云服务器,想上外网需要购买外网IP的,可是有些需要用到外网却不常用的主机也挂个外网IP有点浪费了,便想使用nginx的反向代理来实现多台内网服务器使用一台 ...
- CentOS 7 配置 nginx php-fpm 详细教程
CentOS 7 配置 Nginx 的步骤如下: 首先更新 yum,没有安装 yum 的自行安装 yum update 1. 安装 Nginx yum install nginx 开启 Nginx 并 ...
- [转帖]一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS
一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS https://home.cnblogs.com/u/beyang/ 一台服务器,两个域名 首先购买https,获取到CA证 ...
- 【CentOs】配置nginx
参考资料:http://nginx.org/en/linux_packages.html#stable 1.添加nginx.repo 2.配置nginx 3.启动nginx 1.添加nginx.rep ...
- centos下配置nginx支持php
添加nginx 默认主页index.php vim .../etc/nginx/conf.d/default.conf location / { root /usr/share/nginx/htm ...
- CentOS 中 配置 Nginx 支持 https
一.基础设置: .yum -y update .yum -y install openssl* .cd /usr/local/nginx/conf .mkdir ./ssl .cd ./ssl # 在 ...
- 一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS
一台服务器,两个域名 首先购买https,获取到CA证书,两个域名就得到两套证书 第二步:现在就是Nginx和OpenSSL的安装与配置(这里注意,一般情况下一个IP只支持一个SSL证书,那么我们现在 ...
- 为二级域名注册ssl证书,并强制使用https对http进行跳转
服务器上仍然使用nginx进行代理 1.为二级域名申请ssl证书,如blog.yourdomain.com,见前文. 2.在域名解析服务中,为二级域名添加解析记录 3.nginx默认读取/etc/ng ...
- CentOS下配置nginx conf/koi-win为同一文件的各类错误
今天配置CentOS6.5下安装Nginx + php7 + mysql5.7.15遇到了一些坑.本来家里的电脑在配置环境的时候没有问题,拿去公司的电脑上就是到处报错.不知道是不是人品问题.今晚在家重 ...
随机推荐
- delphi 判断端口(Port)是否被占用(转载)
function IsPortUsed(aPort: Integer): Boolean; var _vSock: TSocket; _vWSAData: TWSAData; _vAddrIn: TS ...
- To My Girlfriend (DP)
题意:求选中若干个数,满足和为S,且不能选中下表i, j 和选中k, l的情况总数量. 思路:DP[i][j][k][l] i:前i个和为j,选中k个和不选中l个的情况数量,那么我们的转换应该是在必选 ...
- Log4j2 HelloWorld
Log4j2 使用教程 Log4j2 的好处就不在这里一一列举了,如果你搜了2,说明你对它一定有兴趣,并且想了解它,使用它. 一.下载log4j2 ,基本上你只需要导入下面两个jar包即可: log4 ...
- IDEA Failed to load dx.jar
IDEA-177053 Android app crashes on build "Failed to load dx.jar" Error:Android Pre Dex: [c ...
- 用java实现操作两个数据库的数据
1.首先需要在jdbc的配置文件里面配置两个数据库的连接 数据库1的配置 driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://地址:3306/数 ...
- Github怎么写README
编辑README文件 大标题(一级标题):在文本下面加等于号,那么上方的文字就变成了大标题,等于号的个数无限制,但一定要大于0 大标题 ==== 中标题(二级标题):在文本下面加下划线,那么上方的文本 ...
- 【shell】awk按域去除重复行
首先解释一下什么叫“按域去除重复行”: 有的时候我们需要去除的重复行并不是整行都重复,两行的其中一列的元素相同我们有的时候就需要认定这两行重复,因此有了今天的内容. 去除重复行shell有一个原生命令 ...
- layui table数据表格reload where参数保留问题
layui table数据表格reload where参数保留问题 在使用layui过程中多多少少会遇到些问题 table reload 有个坑:reload时where参数会保留上次的参数,如果用 ...
- 提升node.js中使用redis的性能
问题初现 某基于node.js开发的业务系统向外提供了一个dubbo服务,提供向第三方缓存查询.设置多项业务数据并聚合操作结果.在QPS达到800时(两台虚拟机,每台机器4Core8G4node进程) ...
- "做中学"之“极客时间”课程学习指导
目录 "做中学"之"极客时间"课程学习指导 所有课程都可以选的课程 Java程序设计 移动平台开发 网络攻防实践 信息安全系统设计基础 信息安全专业导论 极客时 ...