分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Nginx实现HTTP强制跳转HTTPS

发布时间:2023-09-06 02:14责任编辑:顾先生关键词:暂无标签

Info

安装NGINX的还没来得及整理到这个博客,以后再来补,今天主要写跳转的实现,安装通过yum,仅供测试,生产建议编译;

环境

Centos7
ssl
nginx

结果

浏览器 -- 直接访问80 -- 跳转https ,

安装nginx

不要在意为什么不编译

yum -y install epel*yum -y install nginxnginx -v # 检查是否安装成功

生成证书(仅供测试用)

mkdir -pv /usr/local/src/testcd /usr/local/src/test/openssl genrsa -des3 -out server.key 1024openssl req -new -key server.key -out server.csropenssl rsa -in server.key -out server_nopwd.key # nginx使用的私钥需要去除密码口令openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

这时 test目录下应该有四个文件

修改NGINX配置文件

现在我们修改一下nginx.conf 因为是测试所以修改全局文件了

vim /etc/nginx/nginx.conf

这里需要启用https的配置,

现在我们启动服务测试下,

systemctl stop firewalld ; systemctl restart nginxnetstat -tunlp | grep 443

启动服务如果报错请看清log 并且Double Check 你的配置文件,主要是证书名字和路径
检查端口是否开启,
接下来 找一台可以跟server通信的客户端 打开https://ip 测试。
可以打开网页 并且是https 那么 https ---OK

http跳转

这里实现的方式有很多,

这里介绍几种

方式1 rewrite

可以看出,这句话的意思是当你访问http时,通过uri重写的方式直接到https

1,2两种写法,都可以,选一个自己觉得好看的

但是,这是旧版本文档里的写法,

新版本的NGINX已经不推荐这种方式;

推荐方式为下面说的方法2

方法2 return

这种方式也很清晰,访问http时 ,return一个301 直接跳转https,原理就是跟你打网页 没有这个页面 404的效果类似

August 7, 2017 1:01 AM

END

Nginx实现HTTP强制跳转HTTPS

原文地址:https://www.cnblogs.com/xth0331/p/9655576.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved