开发者社区 > 云原生 > Serverless > 正文

有能把https的请求重写到http上的策略么

有能把https的请求重写到http上的策略么

展开
收起
白夜行fighting 2023-06-05 12:35:33 111 0
4 条回答
写回答
取消 提交回答
  • 可以的。 安全产品、CDN、负载均衡都可以实现这个功能,如果用的阿里云的产品可以直接配置,自己搭建的nginx可以做个301转发。

    2023-06-10 17:54:21
    赞同 展开评论 打赏
  • 301 302,用cdn搭配最简单,我是443到cdn 转80到fc。

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-06-05 17:31:26
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云函数计算中可以通过Nginx实现将HTTPS请求重定向到HTTP上。具体操作步骤如下:

    1. 在本地编写nginx配置文件(例如:example.conf),并将其打包为zip包。
    server {
      listen 443;
      server_name localhost;
    
      # Certificate files
      ssl_certificate /etc/nginx/ssl/nginx.crt;
      ssl_certificate_key /etc/nginx/ssl/nginx.key;
    
      # Redirect http to https
      if ($scheme = http) {
        return 301 https://$server_name$request_uri;
      }
    
      location / {
        proxy_pass http://your_http_server;
      }
    }
    
    1. 登录阿里云函数计算控制台,点击「新建函数」,选择「自定义创建」,填写相关信息并创建函数。

    2. 在创建完成后,进入函数的代码编辑页面。将刚才打包好的 zip 包上传到代码目录下。

    3. 编写 entrypoint.sh 文件,该脚本将在函数启动时执行。示例内容如下:

    #!/bin/sh
    export PATH="$PATH:/code/.fun/root/usr/sbin"
    export PATH="$PATH:/code/.fun/root/usr/bin"
    export LD_LIBRARY_PATH=/code/.fun/root/usr/lib
    
    unzip /code/nginx.zip -d /tmp && \
    cd /tmp && \
    chmod +x ./sbin/nginx && \
    ./sbin/nginx -c /tmp/example.conf -p /tmp/
    

    该脚本主要是解压缩上传的 zip 包,并启动 Nginx 服务,并指定配置文件路径。请根据您的实际情况修改配置文件路径和内容。

    1. 配置函数的触发器(如 HTTP 触发器),以便进行测试和访问。

    2. 函数部署成功后,就可以通过触发器的地址访问该重定向服务了。

    2023-06-05 15:04:03
    赞同 展开评论 打赏
  • 可以通过使用 Nginx 的 proxy_redirect 指令来实现将 HTTPS 请求重定向到 HTTP 上的策略。

    具体步骤如下:

    在 Nginx 配置文件中新增以下内容,以实现对 HTTPS 请求的监听和重定向:

    server { listen 443 ssl; server_name example.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    return 301 http://example.com$request_uri;
    

    } 同时,在另一个 Nginx 配置文件中新增以下内容,以实现对 HTTP 请求的监听和代理转发:

    server { listen 80; server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_redirect http:// https://;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    

    } 其中,proxy_redirect 指令用于将代理服务器返回的响应头中的 https:// 前缀替换为 http://,从而实现重定向。

    重启 Nginx 服务,并测试您的应用是否能够正常处理 HTTP 和 HTTPS 请求:

    /etc/init.d/nginx restart curl http://example.com curl https://example.com 需要注意的是,为了保障数据的安全性和可靠性,建议您在使用 HTTPS 时使用有效的 SSL/TLS 证书,并进行必要的安全加固。另外,重定向功能可能会对一些应用程序造成影响,您需要在生产环境中谨慎使用,避免产生不必要的安全风险和性能问题。

    2023-06-05 14:43:33
    赞同 展开评论 打赏

快速交付实现商业价值。

相关电子书

更多
阿里巴巴HTTP 2.0实践及无线通信协议的演进之路 立即下载
CDN助力企业网站进入HTTPS时代 立即下载
低代码开发师(初级)实战教程 立即下载