2. 配置 Nginx 的 HTTPS 访问,先把 location / 通过 root 指向某个文件夹
测试通过HTTPS访问Nginx,如果可以访问则继续下一步,否则解决问题
3. 将 Nginx 的请求 proxy 到 Tomcat
不用说,到了这一步肯定就OK了
可以在nginx上配置证书,后端服务器就不再需要配置证书了。比如说,现在1台nginx,两台后端服务器,如果在nginx上配置证书,那么直需要向证书机构申请一次即可,然后安装到nginx那台服务器,然后再反向代理到后端服务器的80端口。另一种是nginx只做反代(443),两台后端服务器都安装证书。这样就需要配置2台服务器。相对来说在nginx上配置节约时间。
参考大神文章 散尽浮华
http访问强制跳转到https
网站添加了https证书后,当http方式访问网站时就会报404错误,所以需要做http到https的强制跳转设置.
一、采用nginx的rewrite方法
例如将所有的dev.demodomain.com域名的http访问强制跳转到https。
下面配置均可以实现:
配置1:
配置2:
配置3:这种方式适用于多域名的时候,即访问 demodomain.com 的http也会强制跳转到 https://dev.demodomain.com 上面
配置4:下面是最简单的一种配置
497 - normal request was sent to HTTPS
解释:当网站只允许https访问时,当用http访问时nginx会报出497错误码
思路:
利用error_page命令将497状态码的链接重定向到 https://dev.demodomain.com 这个域名上
配置实例:
如下访问dev.demodomain.com或者demodomain.com的http都会被强制跳转到https
也可以将80和443的配置放在一起:
}
到443端口
server_name dev.demodomain.com
如果遇到非标准443端口的https情况下,则http到https的强转配置就需要使用上面这种497状态码的方式了。如下:
这样访问 http://www.kevin.com:9443 就会自动跳转到 https://www.kevin.com:9443 。
这种方式直接配置https端口就可以,不需要再配置http端口。
|
上述的方法均会耗费服务器的资源,可以借鉴百度使用的方法:巧妙的利用meta的刷新作用,将http跳转到https
可以基于 http://dev.demodomain.com 的虚拟主机路径下写一个index.html,内容就是http向https的跳转
将下面的内容追加到index.html首页文件内
[root@localhost ~]# cat /usr/local/nginx/conf/vhosts/test.conf
这里分享一个nginx反代tomcat,并且http强制跳转至https的配置示例 (这里访问 http://zrx.demodomain.com 和访问 http://172.29.34.33:8080/zrx/ 结果是一样的)
[root@BJLX_34_33_V vhosts]# cat zrx.conf
解决办法:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)