http转https

1.http和https

HTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议[1]。HTTP是万维网的数据通信的基础。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。
 

HTTPS:超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

2.http转https

部分转载 https://blog.youkuaiyun.com/sun124608666/article/details/76096197

  • APache 版本

    1、如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容:

    RewriteEngine onRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]

    2、如果对某个目录做https强制跳转,则复制以下代码:

    RewriteEngine onRewriteBase /yourfolderRewriteCond %{SERVER_PORT} !^443$#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

    3、如果只需要对某个网页进行https跳转,可以使用redirect 301来做跳转!redirect 301  /你的网页 https://你的主机+网页

  • Nginx版本

    在配置80端口的文件里面,写入以下内容即可。

    server {        listen       80;        server_name  localhost;       rewrite ^(.*)$ https://$host$1 permanent;   

            location / {            root   html;            index  index.html index.htm;        }

  • IIS 版本

    使用url重定向实现全站跳转。在此之前,请检查网站根目录是否有web.config文件,如有,请先备份这里的web.config文件,因为以下的配置可能会和web.config里面跳转冲突。

    1选择需要实现跳转功能的网站,双击“URL重写”,选择如下图“添加规则”。

    2在弹出的对话框选择空白规则,点击确定。

    3根据以下截图配置新的规则,红色框框为需要配置或注意的选项。

    4展开条件选项,点击添加按钮,添加如下图条件,然后点击确定。

    5再次按下图提示,添加条件,点击确定。

    6选择执行操作类型,如下图。

    7填写完毕,点击右上角应用,应用此规则。

    8最后确定完成所有设定,实际上上面的文件是改变了网站根目录web.config的配置文件内容。

    以上配置文件内容如下,可以比对

    <rule name="Redirect to https"stopProcessing="true">

       <match url="(.*)" />

       <conditions>

       <add input="{HTTPS}" pattern="^OFF$" />

       <add input="{HTTPS_HOST}" pattern="^(localhost)"negate="true" />

       </conditions>

       <action type="Redirect"url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther"/>

    </rule>

  • TOMCAT 版本

    1、在conf目录下的server.xml文件中找到以下配置,修改redirectPort参数值为"443",默认是“8443”.

    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

    2、在conf目录下的web.xml文件内容<web-app>……</web-app>中增加以下配置

    <web-app>.........<security-constraint>    <web-resource-collection >           <web-resource-name >SSL</web-resource-name>        <url-pattern>/*</url-pattern>       </web-resource-collection>           <user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee>       </user-data-constraint></security-constraint></web-app>

  • 单独页面通用代码段:以下方法较适合指定某一个子页单独https在需要强制为https的页面上加入以下代码进行处理http-->https

    <script type="text/javascript">        var url = window.location.href;        if (url.indexOf("https") < 0) {        url = url.replace("http:", "https:");        window.location.replace(url);        }</script>

  • 在需要强制为http的页面上加入以下代码进行处理https-->http

    <script language="JavaScript" type="text/JavaScript">function redirect(){    var loc = location.href.split(':');  if(loc[0]=='https')        {          location.href='http:'+loc[1];          }}                      οnlοad=redirect  </script>

PHP页面跳转:添加在网站php页面内

if ($_SERVER["HTTPS"] <> "on") { $xredir="https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; header("Location: ".$xredir); }

3.post请求https

tomcat默认302get请求,修改成307

 

要将网站从HTTP换为HTTPS,您需要按照以下步骤进行操作: 1. 获取SSL证书:首先,您需要获得一个SSL证书。您可以从SSL证书颁发机构(CA)购买证书,也可以使用免费的证书颁发机构(例如Let's Encrypt)获得证书。 2. 安装SSL证书:一旦您获得了SSL证书,您需要将其安装到您的Web服务器上。具体步骤因服务器类型而异。您可以参考服务器供应商提供的文档或向他们寻求帮助。 3. 更新网站链接:一旦SSL证书安装完成,您需要更新网站上的所有链接,将所有HTTP链接改为HTTPS。这包括网站内部的链接、图像、脚本等。确保将所有HTTP链接更改为相应的HTTPS链接。 4. 重定向HTTPHTTPS:为了确保所有流量都通过HTTPS访问您的网站,您需要设置一个重定向,将所有HTTP请求重定向到相应的HTTPS链接。这通常在服务器配置文件中完成,可以使用301重定向来实现。 5. 检查和测试:完成上述步骤后,您应该对网站进行全面检查和测试,以确保所有链接都已正确更新为HTTPS,并且重定向设置正常工作。在此过程中可能会出现一些问题,您需要及时解决它们。 请注意,在执行此过程之前,建议您备份网站的所有文件和数据库,以防止意外情况发生。 这些是将网站从HTTP换为HTTPS的一般步骤。具体步骤可能因您的服务器和网站配置而有所不同。如果您需要更详细的指导,建议您参考相关服务器和SSL证书供应商的文档,或者向他们寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值