2023年12月22日发(作者:)
she强制http跳转https页面
简介
https在现在网络中是公认的安全的访问方式,但是在访问的过程中很多站点是没有强制https访问的,这样会导致有些客户可以通过http访问,从而对服务器造成一些不安全因素。下文将介绍几种强制https访问的方法。
一, wordpress中设置https强制访问。
默认登录wordpress的后台是使用http协议,这协议是明文发送的。这可能会导致你的用户和密码被窃听。如果使用ssl登录,这种情况则可以避免。下面是设置方法。
1、设置wp-config.php
/* That's all, stop editing! Happy blogging. */ ...
require_once(ABSPATH . 'wp-settin');
2、在上面的代码之前加上如下代码:
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
define(‘FORCE_SSL_LOGIN’, true); #是启用登录时使用ssl
define(‘FORCE_SSL_ADMIN’, true);#后台管理也使用ssl
如果担心后台使用ssl影响速度,可以不用。但还是建议使用,因为这将有可能cookie被劫持导致黑客伪造cookie登录后台。
wordpress只需要几步设定就可以启用强制使用HTTPS登入后端管理界面
首先到wp-config.php中找到下面这段:
if ( !defined(‘ABSPATH’) ) define(‘ABSPATH’, dirname(__FILE__) . ‘/’); 找到它以后,請在它上面加入下列此行:
define(‘FORCE_SSL_LOGIN’, true);
接下來请在VHOST上设定好SSL的相关设置..这里就不再叙述了
以下附上nginx上如何使用vhost并且自动rewrite url跳转到https管理页面的设定值:
请在rewrite rule上面加入rewrite ^.*/wp-admin(.*)
/wp-admin$1 last; 即可
例如下:
location / { try_files $uri $uri/ /;
rewrite ^.*/wp-admin(.*) /wp-admin$1 last; }
设定完毕后当输入.tld/wp-admin时就会自动跳转了。
二, tomcat中的跳转配置 在tomcat中设置强制https的方法有2种,下面分别介绍下这2种方法的配置:
1,调整文件,将HTTP使用的serv文件重定向端口
在记事本中打开 SGMS4Tomcatwebapp文件,在的文件末尾的前一句添加以下内容:
2,调整serv文件以便重定向端口443。这样做你需要更改serv文件,在记事本中打开 SGMS4Tomcatconfserver.xml文件,重定向443端口:
minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/> 重启服务,这个时候就会实现访问HTTP时,使用HTTPS安全协议了。 三, 在JSP代码的页面中的配置 jsp代码: String scheme=requeseme(); String url=requesuestURI(); if(!"HTTPS".equalsIgnoreCase(schem)e) { direct(""+url); return ; } 使用的 Web 站点或虚拟服务器不使用 HTTP/1.1 主机标题进行名称解析 三,要使用 ASP 强制 SSL,请执行下列步骤: 1. 单击开始——运行,输入 Notepad,然后单击“确定”。 2. 将下列代码粘贴到空白“记事本”文档中。在文件菜单上,单击“另存为”,然后将您的 Web 服务器的根目录下的以下代码另存为名为 ForceS 的包含文件: <% If Variables("SERVER_PORT")=80 Then Dim strSecureURL strSecureURL = "" strSecureURL = strSecureURL & RequesVariables("SERVER_NAME") strSecureURL = strSecureURL & RequesVariables("URL") ct strSecureURL End If %> 3. 对于需要 SSL 的每个页面,请将下列代码粘贴到页面的顶部,以引用上一步中的包含文件: <%@Language="VBSCRIPT"%> 浏览每个页面后,包含文件中包含的 ASP 代码会检测端口以确定是否使用了 HTTP。如果使用了 HTTP,将使用 HTTPS 将浏览器重定向到相同页面。 四, 在php页面中设置https自动跳转 http直接跳转为https,重定向一下就可以了。用php就更简单了,添加header: header("Location:https://"); ?> 当访问 http 时,跳 https: //将http转化为https if ($_SERVER["HTTPS"] <> "on") { $xredir="https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; header("Location: ".$xredir); } > 当访问 https 时,跳 http: //将https转化为http if ($_SERVER["HTTPS"] == "on") { $xredir="".$_SERVER["SERVER_NAME"]. $_SERVER["REQUEST_URI"]; header("Location: ".$xredir); } > 在网页开头添加上面代码即可达到在访问http的时候自动跳转到https的效果了,从而确保访问方式一直都是安全的。 五, html代码配置 在html内容中添加一下内容,实现跳转: 这样在访问http的时候 就会自动跳转到指定的https的地址了,从而确实HTTPS安全协议可以安全的包含您的网页通讯。 Nginx rewrite重定向跳转 示例: server { listen 80; server_name 192.168.17.11; #charset koi8-r; location /CwlProWeb { rewrite ^/(.*) 192.168.17.11/$1 permanent; }# 重定向 这个目录下面的所有页面 跳转到192.168.17.11/ 目录保持一致 location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { root html; expires 1h; } location /CwlProApi { rewrite ^/(.*) 192.168.17.11:8443/$1 permanent; }# 同 web一样 } server { listen 443; server_name localhost; ssl on; ssl_certificate /opt/embrace-nginx/nginx/conf/server.pem; ssl_certificate_key /opt/embrace-nginx/nginx/conf/server.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; location /CwlProWeb { proxy_pass cwlproweb; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }#配置下转发规则 location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { root html; expires 1h; } } server { listen 8443; server_name localhost; ssl on; ssl_certificate /opt/embrace-nginx/nginx/conf/server.pem; ssl_certificate_key /opt/embrace-nginx/nginx/conf/server.key; ssl_client_certificate /opt/embrace-nginx/nginx/conf/; #客户端的根证书 ssl_verify_client on; #开启双向认证模式 ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; location /CwlProApi { proxy_pass cwlproapi; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } #同web一样的配置 }


发布评论