记录一次配置http跳转https的过程

简介:

公司最近搞了一个数据运营平台,这个平台会以web界面的形式把各个数据展示出来,这个项目是我们一个经理的重点关照项目。把平台模块部署完毕并且启动之后,又把这个平台服务器的外网IP绑定到alkaid.lechange.com这个域名上,在浏览器里输入https://alkaid.lechange.com ,就看到了前端同行们写的网页。


但是我们的霸气经理说这样不行,说要更多要求更高标准更好体验,于是乎提出一个需求就是:在输入alkaid.lechange.com的时候会自动跳转到https://alkaid.lechange.com 。


既然如此,我们就在nginx上原有的nginx.conf里补充几个配置文件:

1
2
3
4
5
         #include upstream
         include upstream.conf;
         # include servers
         include alkaid.conf;
         include alkaid-https.conf;

这样在执行nginx.conf的时候,就会调用upstream.conf、alkaid.conf和alkaid-https.conf,我们主要看一下这三个文件。


alkaid.conf文件如下:

1
2
3
4
5
6
7
8
9
server {
         listen 80;
         server_name *.lechange.com;
         proxy_buffering off;
         location / {
                 rewrite ^/ https: //alkaid .lechange.com permanent;
                 client_max_body_size 100m;
         }
}


这里我们监听了80端口,下面那个 "client_max_body_size 100m" 是用来设定nginx+php上传文件的大小,这里规定是100m,这个可以写进nginx.conf里,如果有对上传文件方面感兴趣,可以看 http://www.cnblogs.com/zhwl/archive/2012/09/18/2690714.html  。


再来看看alkaid-https.conf,如下:

1
2
3
4
5
6
7
8
9
10
11
server {
         listen 10000;
         server_name *.lechange.com;
         proxy_buffering off;
         location / {
                 proxy_pass http: //alkaid_backend ;
                 proxy_set_header   X-Real-IP        $remote_addr;
                 proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                 proxy_redirect     off;
         }
}

这里监听了10000端口,location写的是http://alkaid_backend  ,这个alkaid_backend是啥东西?


这个时候我们就需要看一下upstream.conf,里面内容是:

1
2
3
4
upstream alkaid_backend {
         server   X.X.X.X:JQK;
         check interval=5000 rise=2 fall=5 timeout=1000  type =tcp default_down= false ;
}

X.X.X.X是模块服务器的内网IP地址,而JQK是模块服务器的模块端口,这里要根据实际的情况来写。可见alkaid_backend对应的就是模块服务器和它的端口,下面是检查间隔等等数值。


现在我们启动nginx,然后把nginx的外网地址绑定去alkaid.lechange.com这个域名,在浏览器里输入alkaid.lechange.com,就会达到自动跳转的目的了!


这里要额外多说一下,我们这里设定了80的配置文件也设置了443的文件,但是这俩文件的转发过程却不同:alkaid-https.conf文件把443的请求转向了平台模块服务器的服务,而alkaid.conf文件把凡是从80端口进来的请求直接全部永久重定向到https://alkaid.lechange.com  ,但是这个alkaid.lechange.com还是会去访问平台模块服务器的服务,也就是说alkaid.conf文件多了一步重定向。



最后的最后,如果您觉得本文对您升职加薪迎娶白富美有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多优秀的博文!

wKioL1l16m3BMYDKAACPHEqd55Q687.jpg


 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1941035



相关文章
|
2月前
|
缓存 安全 网络协议
HTTP和HTTPS的区别有哪些?
本文简要总结了 HTTP 和 HTTPS 的区别,从概念、端口、连接方式、使用场景、安全性等多个角度进行了对比。HTTP 是无状态的、无连接的应用层协议,适用于一般性网站和性能要求较高的应用;HTTPS 则通过 SSL/TLS 层提供加密、认证和完整性保护,适用于涉及敏感信息和高安全性的场景。文章还讨论了两者在性能上的差异,包括握手和加密开销、缓存效果以及 HTTP/2 的多路复用技术。最终,根据具体需求选择合适的协议能够更好地平衡安全性和性能。
286 2
HTTP和HTTPS的区别有哪些?
|
1月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
58 3
|
23天前
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
30 1
|
1月前
|
缓存 安全 网络安全
HTTP/2与HTTPS在Web加速中的应用
HTTP/2与HTTPS在Web加速中的应用
|
4天前
|
安全 网络安全 数据安全/隐私保护
第六问:http和https区别与联系
HTTP 和 HTTPS 是现代网络通信中的两种重要协议。HTTP 是明文传输协议,无加密功能;HTTPS 在 HTTP 基础上加入 SSL/TLS 加密层,提供数据加密、身份验证和数据完整性保障。HTTP 适用于非敏感信息传输,如新闻网站;HTTPS 适用于在线支付、账户登录等需要保护用户数据的场景。
18 0
|
1月前
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
58 5
|
1月前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
109 10
|
1月前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
37 3
|
1月前
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
58 4
|
1月前
|
安全 前端开发 JavaScript
http和https
【10月更文挑战第22天】http和https
43 2

热门文章

最新文章

下一篇
DataWorks