zoukankan      html  css  js  c++  java
  • http重定向https Alex

    将http请求转发至https的URL
      重定向
        Redirect [status] URL-path URL
      status状态:
        Permanent: 返回永久重定向状态码 301
        Temp:返回临时重定向状态码302. 此为默认值
      示例:
        Redirect temp / https://www.magedu.com/

    从客户端发送浏览请求--至服务器--从服务器回复一个重定向的网页地址到客户端---从客户端发送请求到服务器--从服务器回复请求,通过四次完成一整次访问

     1 vim /etc/httpd/conf/httpd.conf 
     2  ----
     3 
     4 <virtualhost *:80 >
     5 DocumentRoot /data/asite
     6 CustomLog "logs/asite_access_log" combined
     7 servername www.a.com
     8 <directory "/data/asite">
     9 Require all granted
    10 </directory>
    11 redirect Permanent / http://www.b.com
    12 </virtualhost>
    13 --------
    14#在a网站的语句块的配置文件中添加这行,表示当你访问根的时候,跳转到www.b.com
    15 systemctl restart httpd
    16#重启服务

    通过curl命令测试:只显示了301 ,curl 命令默认只发一次请求,不会主动发第二次请求,重定向需要发第二次请求的

    1 curl  http://www.a.com
    2 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    3 <html><head>
    4 <title>301 Moved Permanently</title>
    5 </head><body>
    6 <h1>Moved Permanently</h1>
    7 <p>The document has moved <a href="http://www.b.com">here</a>.</p>
    8 </body></html>
    1 curl  -L http://www.a.com
    2 b.site

    curl命令默认只发送一次请求,-L会根据用户发过来的响应码在执行操作,如301就会在发送一次请求跳转到对应的网站上

    一般从http跳转到https都是用的临时重定向

    1 <virtualhost *:80 >
    2         DocumentRoot /data/asite
    3                 CustomLog "logs/asite_access_log" combined
    4         servername www.a.com
    5 <directory "/data/asite">
    6         Require all granted
    7 </directory>
    8 redirect temp / https://www.a.com
    9 </virtualhost>

     #搜索引擎会根据永久重定向来抓取页面,临时重定向会抓取,永久重定向不会抓取旧的网站

    直接在配置文件中将http跳转到https会产生循环

    DocumentRoot "/var/www/html"
    redirect temp / https://www.a.com
    多主机的模式可以用这种,
    curl -Lk http://www.a.com
    curl: (47) Maximum (50) redirects followed
    1 vim /etc/httpd/conf/httpd.conf
    2----
    3 RewriteEngine on
    4 RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=302]
    5 #RewriteEngine on重写引擎
    6 #RewriteRule重写规则, ^(/.*)$ 头尾中间/任意字符,表示访问这个网站的任意字符串,给你重定向到https://%{HTTP_HOST},HTTP_HOST就是你访问的主机头,$1后项引用,使用302临时跳转

    重新测试:

    1 curl -Lk http://www.a.com
    2 www.alex.com
    ------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------- 博客均为个人笔记,无所追求,仅供参考~~~ QQ--2382990774
  • 相关阅读:
    论信息系统项目沟通管理
    程序员到底怎么了
    Spring DBCP用xml和properties2种格式配置DataSource
    Spring Aop的理解和简单实现
    数据库常见面试题总结
    java常见面试题总结
    【JavaEE】企业面试问题-Java基础
    Java String常见面试题汇总
    JavaScript事件详解
    JavaScript函数使用技巧
  • 原文地址:https://www.cnblogs.com/alexlv/p/14583443.html
Copyright © 2011-2022 走看看