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 [email protected]

    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"

 

轉自沈小帥 http://blog.csdn.net/jesseshen/article/details/6685650

發佈了40 篇原創文章 · 獲贊 14 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章