Linux上nginx配置SSL协议非80、443端口自动跳往https端口

Linux上nginx配置SSL协议非80、443端口自动跳往https端口在生产环境中往往碰到一个网站需要多个访问端口,而默认的http访问端口是80,https访问的端口是443,然而这是不够在生产环境下使用的,这个时候就需要配置更多的端口来弥补这一缺点。默认情况下用户输入URL时是约简单越好,比如http://baidu.com,用户只需要输入baidu.com就可以访问。但是这样是通过http协议进行访问,而并非https进行访问。站在用户的角度来考虑问题他不…

大家好,又见面了,我是你们的朋友全栈君。

在生产环境中往往碰到一个网站需要多个访问端口,而默认的http访问端口是80,https访问的端口是443,然而这是不够在生产环境下使用的,这个时候就需要配置更多的端口来弥补这一缺点。
默认情况下用户输入URL时是约简单越好,比如http://baidu.com ,用户只需要输入baidu.com就可以访问。但是这样是通过http协议进行访问,而并非https进行访问。站在用户的角度来考虑问题他不会管你的网站是通过什么来访问的,他只管我的一些信息不被别人劫持到,这就要使用到https加密来进行访问。
比如我的nginx已经配置好了配置文件,如下图。
nginx配置
但是这种配置需要用户自动输入http还是https,这时我只需要添加一个配置就可以实现80端口自动跳转到443端口。

   #  80端口自动转发到443端口
    server {
        listen        80;
       server_name   ********.com;
       rewrite ^(.*)$ https://${server_name}$1 permanent;
    }
    server {
        listen    80;
        listen    443 ssl;
……
   }

但是这样会牵扯到配置的其他非80端口,所以上面的配置在生产环境是行不通的
这些还是默认的端口,但如果要是其他端口呢?
比如:

    server {
        listen        9116 ssl;
        server_name   *********.com;

        ssl_certificate  /data/nginx/cert/214376322580000.pem;
        ssl_certificate_key /data/nginx/cert/214376322580000.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;

        charset UTF8;
        access_log  logs/******.access.log  main;
        error_log   logs/*****.error.log;

        location / {
               proxy_pass https://***;
               }
               }

重新检查nginx配置没有任何的报错。用浏览器访问时就会出来一个报错“The plain HTTP request was sent to HTTPS port”。
那么这时我就需要对配置文件进行更改。
首先注释掉80端口自动转发到443端口。

    # 80端口自动转发到443端口
    #server {
    #    listen        80;
    #   server_name   ******.com;
    #   rewrite ^(.*)$ https://${server_name}$1 permanent;
    #}

然后在server配置里面添加一句**‘error_page 497 301 https://$http_host$request_uri;’ **

    server {
        listen        9116 ssl;
        server_name   ******.com;
        
        ssl_certificate  /data/nginx/cert/214376322580000.pem;
        ssl_certificate_key /data/nginx/cert/214376322580000.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;
        error_page 497 301 https://$http_host$request_uri;
        
        charset UTF8;
        access_log  logs/******.access.log  main;
        error_log   logs/********.error.log;
        
        location / {
               proxy_pass https://****;
            }
        }

这样就可以实现http自动跳转到https了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151179.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm安装教程2020.3.4_pycharm安装后无解释器

    pycharm安装教程2020.3.4_pycharm安装后无解释器第一步安装解释器,第二步安装pycharm1第一步安装解释器1.1什么是解释器:??就是将Python程序翻译成为计算机可以识别的01代码1.2安装解释器:解释器安装地址:https://www.python.org/downloads/release/python-372根据自己的操作系统安装适配的解释器:这里以Windows为例注意安装的时候我们需要需注意吧解释器添加到环境变量里面双击开始安装勾选addpythontopath,如果安装的时候没有勾选,请安装结束以后按

    2022年8月26日
    4
  • Java实现矩阵转置

    Java实现矩阵转置//矩阵转置classArrayUtil{ //输入矩阵和其列大小 publicstaticint[][]transpose(int[][]arr,intcolumn){ int[][]arr2=newint[column][arr.length]; for(inti=0;i<arr.length;i++){ intk=0…

    2022年6月17日
    82
  • mac navicat 15激活码_最新在线免费激活

    (mac navicat 15激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html2KLKA7BQFO-eyJsa…

    2022年4月1日
    52
  • Java中堆和栈(java栈和堆)

    Java中堆和栈(java栈和堆)转:https://www.cnblogs.com/ibelieve618/p/6380328.htmlJAVA在程序运行时,在内存中划分5片空间进行数据的存储。分别是:1:寄存器。2:本地方法区。3:方法区。4:栈。5:堆。基本,栈stack和堆heap这两个概念很重要,不了解清楚,后面就不用学了。以下是这几天栈和堆的学习记录和心得。得些记录下来。以后有学到新的,会慢慢补充。…

    2022年4月18日
    48
  • Python面试中常见的40个问题

    Python面试中常见的40个问题:(1)什么是Python?使用Python有什么好处?(2)什么是PEP 8?(3)什么是序列化和非序列化?(4)如何解释Python?(5)如何在Python中进行内存管理,等等。

    2022年1月18日
    89
  • 很黄很暴力的图片搜索引擎

    很黄很暴力的图片搜索引擎http://www.airtightinteractive.com/projects/simple_image_search/app/

    2022年10月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号