http 转 https

1. 首页通过JS直接跳转

<SCRIPT   LANGUAGE= "JavaScript "> 

<!-- 

var   a=location.href; 

var   b=a.substring(5); 

var   a=a.substring(0,5); 

var   a=a.toLowerCase(); 

if(a== "http: ") 

location.href= "https: "+b; 

//--> 

</SCRIPT>

2. Apache2.2.3中设置HTTP直接转HTTPS

1、前提

网站在Apache上加入了OpenSSL功能,并绑定Tomcat后(详细操作下次写出来),可以通过https://+域名或http://+域名访问,两者apache都兼容,可以打开,这样的话,网站还是不够安全。

把用户自己输入或浏览器自己添加的Httpt头自动转成https,就能实现

2、搜索

通过搜索引擎搜索出好多配置方法,目标都指向apache Rewrite 模块

3、对配置方法进行筛选,好多配置基本比较完善,针对2.2.6,好像吧好多httpd.conf的配置文件都分到extra中了,找到相关文件对着配就行

4、配置经过

1)装在Rewrite模块,在httpd.conf中增加如下语句,如果有就不用加了

LoadModule rewrite_module modules/mod_rewrite.so

2)把设置虚拟主机的文件打开,设置虚拟主机,文件名为conf/extra/httpd-vhosts.conf,在httpd.conf下把

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

把#去掉,然后进入extra,打开httpd-vhosts.conf

在VirtualHost 中加入

<VirtualHost IP:80>

    ServerAdmin services@easywlan.cn

    DocumentRoot "/usr/local/tomcat/webapps/web"

    ServerName localhost

    ServerAlias localhost

    ErrorLog "/usr/local/httpd/logs/localhost_error_log"

    CustomLog "/usr/local/httpd/logs/ssl_request_log" \

          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

        RewriteEngine on

        RewriteCond %{SERVER_PORT} !^443$

        RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

</VirtualHost>

3)保证conf/extra/httpd-ssl文件不变,吧原来设置的Rewrite规则,全部剪切到httpd-vhost.conf中就可以了

4)重新启动apache,成功转换httpd

以上操作是在apache 2.2.6和openssl公告编译的模块下配置通过的

3. tomcat 配置 https

tomcat6配置双向认证 
1、生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 3650
2、生成客户端证书
keytool -genkey -keyalg RSA -dname "cn=sango,ou=sango,o=none,l=china,st=beijing,c=cn" -alias custom -storetype PKCS12 -keypass password -keystore custom.p12 -storepass password -validity 3650
客户端的CN可以是任意值。 
3、由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令,先把客户端证书导出为一个单独的cer文件:
keytool -export -alias custom -file custom.cer -keystore custom.p12 -storepass password -storetype PKCS12 -rfc
然后,添加客户端证书到服务器中(将已签名数字证书导入密钥库)
keytool -import -v -alias custom -file custom.cer -keystore server.jks -storepass password
4、查看证书内容
keytool -list -v -keystore server.jks -storepass password
5、配置tomcat service.xml文件
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="true" sslProtocol="TLS"
    keystoreFile="D:/server.jks" keystorePass="password"
    truststoreFile="D:/server.jks" truststorePass="password"
/>
clientAuth="true"表示双向认证 
6、导入客户端证书到浏览器 
双向认证需要强制验证客户端证书。双击“custom.p12”即可将证书导入至IE 
tomcat6配置单向认证 
1、生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 3650
2、由于是单向认证,没有必要生成客户端的证书,直接进入配置tomcat service.xml文件
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="D:/server.jks" keystorePass="password"    
/>
clientAuth="false"表示单向认证,同时去掉truststoreFile="D:/server.jks" truststorePass="password"

展开阅读全文

没有更多推荐了,返回首页