nginx中https配置(Nginx配置同一个域名同时支持http与https两种方式访问实现)
类别:服务器 浏览量:2514
时间:2022-04-02 16:43:36 nginx中https配置
Nginx配置同一个域名同时支持http与https两种方式访问实现Nginx配置同一个域名http与https两种方式都可访问,证书是阿里云上免费申请的
server { listen 80; listen 443 ssl; ssl on; server_name 域名; index index.html index.htm index.php default.html default.htm default.php; ssl_certificate /usr/local/nginx/cert/21402058063066221.pem; //下载申请后阿里ssh提供的pem ssl_certificate_key /usr/local/nginx/cert/21402058063066221.key;//下载申请后阿里ssh提供的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.1 TLSv1.2; ssl_prefer_server_ciphers on; root /home/wwwroot/网站目录; include laravel.conf; //好吧,这里是laravel配置,不一定合适您哈,请或略 #error_page 404 /404.html; include enable-php.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } access_log /home/wwwlogs/airclass.mime.org.cn.log; }
关键在于上面的listen 80;
listen 443 ssl; 开启80端口
当然,这样玩就没有啥意义了,既然是https,就完全没必要http传输数据啦.我们必须把所有http请求转发到https,
把http重定向到https使用了nginx的重定向命令。那么应该如何写重定向?之前老版本的nginx可能使用了以下类似的格式。
也就是再添加一个虚拟机server,80端口一个
server { listen 80; server_name www.domain.com; rewrite ^/(.*) https://$server_name$1 permanent; #跳转到Https }
重写依旧不同版本可能如下
rewrite ^/(.*)$ https://domain.com/$1 permanent;
或者
rewrite ^ https://domain.com$request_uri? permanent;
现在nginx新版本已经换了种写法,上面这些已经不再推荐。现在网上可能还有很多文章写的是第一种。
下面是nginx http页面重定向到https页面最新支持的写法:
server { listen 80; server_name domain.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name domain.com; }
但是我的nginx/1.10.0好像跑不起来,也许不支持这种写法吧...
下面是基于http转https的完整配置:
server { #listen 80; listen 443; ssl on; server_name domain.com; //你的域名 index index.html index.htm index.php default.html default.htm default.php; ssl_certificate /usr/local/nginx/cert/user.medsci-tech.com/214020580630662.pem; ssl_certificate_key /usr/local/nginx/cert/user.medsci-tech.com/214020580630662.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.1 TLSv1.2; ssl_prefer_server_ciphers on; root /home/wwwroot/web/public;//项目根目录 include laravel.conf; #error_page 404 /404.html; include enable-php.conf; location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } } server { listen 80; server_name domain.com; rewrite ^/(.*) https://$server_name$request_uri? permanent; }
到此这篇关于Nginx配置同一个域名同时支持http与https两种方式访问实现的文章就介绍到这了,更多相关Nginx同域名同时支持http与https内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- windows下nginx 命令(win10安装配置nginx的过程)
- nginx宝塔配置修改(宝塔面板默认的404页面不生效怎么办Nginx?)
- 如何提高nginx性能(提升Nginx性能的一些建议)
- docker中如何使用nginx(docker nginx实现一个主机部署多个站点操作)
- nginx和lua哪个好(nginx+lua单机上万并发的实现)
- docker重新加载nginx(Docker Nginx Log 三者的处理详解)
- nginxrewrite有什么功能(Nginx Rewrite使用场景及代码案例详解)
- 修改宝塔nginx端口(解决宝塔面板nginx/apache防火墙后无法启动)
- tomcat docker 性能(Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作)
- nginx的请求处理(nginx处理http请求实现过程解析)
- nginx 根据url限流(浅谈Nginx 中的两种限流方式)
- nginx最佳配置(nginx和lvs各自的优劣以及适合的使用环境)
- nginx怎么设置域名访问网页(Nginx服务器如何设置url链接)
- php nginx 底层执行流程(nginx/apache/php隐藏http头部版本信息的实现方法)
- nginx配置详解(nginx请求限制配置方法)
- nginx怎么实现反向代理(nginx反向代理时如何保持长连接)
- 是不是快乐全被你拿走了(而是你得到的)
- 世界上只有妈妈好(世界上只有妈妈好的歌词)
- 为什么现在社会越来越卷了(现在社会为什么发展那么快呢)
- 直播带货能赚到很多钱吗(直播带货能赚到很多钱吗现在)
- 做网红真的很能赚钱吗(做网红真的很能赚钱吗)
- 10句英语常用(英语常用900句)
热门推荐
- 跨服务器mysql数据迁移方案(从云数据迁移服务看MySQL大表抽取模式的原理解析)
- laravel入门教程零基础(Laravel5.7框架安装与使用学习笔记图文详解)
- ubuntu常用命令表(Ubuntu服务器常用命令汇总)
- css实现很炫酷的效果(纯CSS实现酷炫的霓虹灯效果附demo)
- 谷歌浏览器调试模式下搜索小技巧
- left join on 查询
- 织梦源码安装数据库怎么填(Mysql修改端口号 织梦DedeCMS设置教程)
- goweb框架哪个用的最多(教你搭建一个简单的Go Web服务器)
- sqlserver 开启数据库(SQLSERVER简单创建DBLINK操作远程服务器数据库的方法)
- asp.net 文件操作
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9