nginx将http升级到https并且同时支持http和https两种请求、http自动转向https
1、http升级到https
1.1、检查 Nginx 是否支持 SSL
/usr/local/nginx/sbin/nginx -V
configure arguments中是否有--with-http_ssl_module
如:
nginx version: nginx/1.13.
built by gcc 4.8. (Red Hat 4.8.-) (GCC)
built with OpenSSL 1.0.2k-fips Jan
TLS SNI support enabled
configure arguments: --with-http_ssl_module
1.2、为nginx添加SSL 模块
)进入nginx安装目录执行:
./configure --with-http_ssl_module
然后,注意不要make install
make
)备份原 Nginx 执行脚本
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
)将新版本 Nginx 编译脚本放到可执行文件目录下
cd objs/ cp nginx /usr/local/nginx/sbin/
)进行平滑升级
make upgrade
再次检查是否安装成功:
/usr/local/nginx/sbin/nginx -V
1.3、修改nginx配置
server{
listen ;
listen ssl;
ssl on;
ssl_certificate /etc/nginx/nginx.nopasswd.crt; ##证书.crt
ssl_certificate_key /etc/nginx/nginx.nopasswd.key; ##证书.key
server_name ****;
error_page /50x.html;
location = /50x.html {
root html;
}
location / {
try_files $uri $uri/ /index.html;
root /var/www/test;
index index.html index.htm;
}
location ~ /api/(.*)$ {
proxy_pass http://****/$1?$query_string;
proxy_set_header Host $http_host;
proxy_set_header X-Forward-For $remote_addr;
}
}
注意:https需要SSL证书,可以到阿里云或腾讯云申请免费版,有效期一年
2、同时支持http和https两种请求
server{
listen ;
listen ssl;
# ssl on;
ssl_certificate /etc/nginx/nginx.nopasswd.crt;
ssl_certificate_key /etc/nginx/nginx.nopasswd.key;
......
将ssl on;注释就可以了,其中http访问88端口,而https访问443端口(http默认80端口,https默认443端口)
3、http自动转向https
nginx配置新增server的配置
server {
listen ;
server_name 你的域名;
rewrite ^(.*)$ https://$host$1 permanent;
}
nginx将http升级到https并且同时支持http和https两种请求、http自动转向https的更多相关文章
- 【Nginx】将http升级到https并且同时支持http和https两种请求
一.如何将http升级到https 需要满足下面三个: 1.域名 2.nginx 3.SSL证书 一般第三方证书颁发机构下发的证书是收费的,一年好几千. 1) 从腾讯云申请免费的SSL证 ...
- Nginx 反向代理(http转htpps,并支持80端口继续提交post请求)
项目是一个web server + 多个client的形式,client由用户安装在自己的电脑上 由http升级为https后,我们通过在Nginx做了80端口重定向443的配置,使用户通过访问htt ...
- JGit与远程仓库链接使用的两种验证方式(ssh和https)
JGit是使用JAVA的API来操控Git仓库的库,由Eclipse公司维护.他提供的API分成两个层次,底层命令和高层命令.底层API是直接作用于低级的仓库对象,高层的API是一个面向普通用户级别功 ...
- 十一.spring-boot 添加http自动转向https
SSL是为网络通信提供安全以及保证数据完整性的的一种安全协议,SSL在网络传输层对网络连接进行加密. 例:cas 的单点登陆就用到了SSL 一.安全证书的生成 1.可以使用jdk自带的证书生成工具,j ...
- nginx开启ssl并把http重定向到https的两种方式
1 简介 Nginx是一个非常强大和流行的高性能Web服务器.本文讲解Nginx如何整合https并将http重定向到https. https相关文章如下: (1)Springboot整合https原 ...
- Chrome禁止http自动转为https
解决方法 在Chrome浏览器地址栏输入chrome://net-internals/#hsts 在Delete domain security policies 中输入要删除自动转换的域名 原因 将 ...
- nginx 和 tp兼容pathinfo和rewrite两种url访问方式
环境:centos7,yum安装的nginx1.10.php-fpm,tp3.2 本方法只需要配置nginx.conf的一个文件就可以支持pathinfo和rewrite两种url访问方式 vim / ...
- nginx、TP框架实现兼容pathinfo和rewrite两种url访问方式
环境:centos7,yum安装的nginx1.10.php-fpm,tp3.2 本方法只需要配置nginx.conf的一个文件就可以支持pathinfo和rewrite两种url访问方式 vim / ...
- 源码安装nginx以及平滑升级
源码安装nginx以及平滑升级 ...
随机推荐
- jQuery 判断页面对象是否存在
不能用 if($("#id")){}else{} 因为 $("#id") 不管对象是否存在都会返回 object. 正确使用判断对象是否存在应该用: if( ...
- iOS-使用Xcode自带单元测试UnitTest
![Uploading QQ20160129-3_262826.png . . .]####什么是单元测试?一听到单元测试这个词感觉很高端,其实单元测试就是为你的方法多专门写一个测试函数.以保证你的方 ...
- [TimLinux] django model关于QuerySet
1. 获取执行过的sql命令 from django.db import connections connections['default'].queries 2. 获取QuerySet将执行的sql ...
- 【转载】Dockerfile文件详解
什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. docker ...
- XCode项目配置
此设置优先级在playersetting之上,如果为空或者格式不正确或者文件不存在将不会设置,请注意 一.设置面板 二.对应Xcode中设置 1.TeamID 登录苹果开发者网站,查看个人信息,就有 ...
- 一位资深程序员面试Python工程师的岗位心得和历程【新手必须】
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:程序员阿牛说一些面试的心得体会: 1.简历制作我做了两份简历,用两个手机 ...
- springboot+k8s+抛弃springcloud.eureka
springboot开发微服务框架一般使用springcloud全家桶,而整个项目都是容器化的,通过k8s进行编排,而k8s自己也有服务发现机制,所以我们也可以抛弃springcloud里的eurek ...
- css分类和选择器
css的分类:内联,内嵌,外部 内联:写在标签里,style=样式,控制精准代码实用性差. 内嵌:嵌在<head></head>里 <style type="t ...
- 【Java Web开发学习】Servlet、Filter、Listener
[Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...
- 【Java Web开发学习】Spring MVC 开始配置
Spring MVC 开始配置 转载:http://www.cnblogs.com/yangchongxing/p/8871370.htm 学习搭建最简单的Spring MVC框架. ======== ...