现如今各大搜索引擎对于https的收录和排名越来越友好,比如本站https://www.55360.top 申请了https认证后基本是秒收录。
中维互联网络在申请https认证的过程中遇到的一些问题现在整理下来,方便大家在以后遇到类似问题的时候可以参考。
首先说下免费的https证书申请方式,小编是使用的阿里云的非常方便,
在阿里云控制台:安全(云盾)->证书服务->购买证书里(地址:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.zTLyhO&commodityCode=cas#/buy) 选择免费的证书类型完成购买
免费购买完成后,在订单里不去信息,输入需要使用Https服务的详细子域名,填写个人信息
完成信息后,接下来就是等待审批结果了,审批通过后,下载,
根据自己服务器的实际情况 ,选择相应类型,完成安装。
这样就完成了免费https证书的申请。
申请完成之后,就要在自己的服务器上做证书的配置了,配置教程,小编也为大家整理好了,各种环境的配置方法,大家往下看,空间上是不支持自己配置的,还要联系购买的空间商帮助配置,中维互联网络对vps/服务器的配置方法整理给大家。
IIS 6安装证书
IIS 6 支持PFX格式证书,下载包中包含PFX格式证书和密码文件。以沃通证书为例:
文件说明:
1. 证书文件214281374390050.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214281374390050.key、PFX格式证书文件214281374390050.pfx、PFX格式证书密码文件pfx-password.txt。
( 1 ) 证书导入
• 开始 -〉运行 -〉MMC;
• 启动控制台程序,选择菜单“文件"中的"添加/删除管理单元”-> “添加”,从“可用的独立管理单元”列表中选择“证书”-> 选择“计算机帐户”;
• 在控制台的左侧显示证书树形列表,选择“个人”->“证书”,右键单击,选择“所有任务"-〉"导入”, 根据"证书导入向导”的提示,导入PFX文件(此过程当中有一步非常重要: “根据证书内容自动选择存储区”)。
• 安装过程当中需要输入密码为您当时设置的密码。导入成功后,可以看到如图所示的证书信息。
( 2 ) 分配服务器证书,如图所示流程。
IIS7/8安装证书
安装证书
IIS 7/8 支持PFX格式证书,下载包中包含PFX格式证书和密码文件。以沃通证书为例:
文件说明:
1. 证书文件214281374390050.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214281374390050.key、PFX格式证书文件214281374390050.pfx、PFX格式证书密码文件pfx-password.txt。
( 1 ) 证书导入
• 开始 -〉运行 -〉MMC;
• 启动控制台程序,选择菜单“文件"中的"添加/删除管理单元”-> “添加”,从“可用的独立管理单元”列表中选择“证书”-> 选择“计算机帐户”;
• 在控制台的左侧显示证书树形列表,选择“个人”->“证书”,右键单击,选择“所有任务"-〉"导入”, 根据"证书导入向导”的提示,导入PFX文件(此过程当中有一步非常重要: “根据证书内容自动选择存储区”)。安装过程当中需要输入密码为您当时设置的密码。导入成功后,可以看到如图所示的证书信息。
( 2 ) 分配服务器证书
• 打开 IIS8.0 管理器面板,找到待部署证书的站点,点击“绑定”,如图。
• 设置参数
选择“绑定”->“添加”->“类型选择 https” ->“端口 443” ->“ssl 证书【导入的证书名称】” ->“确定”,SSL 缺省端口为 443 端口(请不要随便修改。 如果您使用其他端口如:8443,则访问时必须输入:https://www.domain.com:8443)。如图
TOMCAT安装证书
安装证书
Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一。
文件说明:
1. 证书文件214281374390050.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214281374390050.key、PFX格式证书文件214281374390050.pfx、PFX格式证书密码文件pfx-password.txt。
1、证书格式转换
在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,附件中只包含214281374390050.pem文件,还需要将私钥文件拷贝到cert目录,命名为214281374390050.key;如果是系统创建的CSR,请直接到第2步。
到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记:
openssl pkcs12 -export -out 214281374390050.pfx -inkey 214281374390050.key -in 214281374390050.pem2、PFX证书安装
找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port="8443"标签,增加如下属性:
keystoreFile="cert/214281374390050.pfx" keystoreType="PKCS12" #此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码 keystorePass="证书密码"完整的配置如下,其中port属性根据实际情况修改:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/214281374390050.pfx" keystoreType="PKCS12" keystorePass="证书密码" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>3、JKS证书安装(帮助)
( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)
keytool -importkeystore -srckeystore 214281374390050.pfx -destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。
( 2 ) 找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port="8443"标签,增加如下属性:
keystoreFile="cert/your-name.jks" keystorePass="证书密码"完整的配置如下,其中port属性根据实际情况修改:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/your-name.jks" keystorePass="证书密码" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>( 注意:不要直接拷贝所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数请根据自己的实际情况修改 )
4、 重启 Tomcat。
5、 通过 https 方式访问您的站点,测试站点证书的安装配置
AOACHE安装证书
安装证书
文件说明:
1. 证书文件214281374390050.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214281374390050.key、证书公钥文件public.pem、证书链文件chain.pem。
( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214281374390050.key;
( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件) #Include conf/extra/httpd-ssl.conf( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
# 添加 SSL 协议支持协议,去掉不安全的协议 SSLProtocol all -SSLv2 -SSLv3 # 修改加密套件如下 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on # 证书公钥配置 SSLCertificateFile cert/public.pem # 证书私钥配置 SSLCertificateKeyFile cert/214281374390050.key # 证书链配置,如果该属性开头有 '#'字符,请删除掉 SSLCertificateChainFile cert/chain.pem( 4 ) 重启 Apache。
( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置
Nginx/Tengine安装证书
安装证书
文件说明:
1. 证书文件214281374390050.pem,包含两段内容,请不要删除任何一段内容。
2. 如果是证书系统创建的CSR,还包含:证书私钥文件214281374390050.key。
( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214281374390050.key;
( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:
# HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { # # #} #}( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :
server { listen 443; server_name localhost; ssl on; root html; index index.html index.htm; ssl_certificate cert/214281374390050.pem; ssl_certificate_key cert/214281374390050.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }保存退出。
( 4 )重启 Nginx。
( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置。
到这里,中维互联网络提醒大家,这样证书就按照配置好了,https就生效了。
最后一步,就是做 http向 https的301跳转了。
中维互联网络给大家整理了各种版本的http向https的跳转方法,供大家参考。
APache 版本
如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容:
1. RewriteEngine on
2. RewriteCond %{SERVER_PORT} !^443$
3. RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R=301]
复制代码
如果对某个目录做https强制跳转,则复制以下代码:
1. RewriteEngine on
2. RewriteBase /yourfolder
3. RewriteCond %{SERVER_PORT} !^443$
4. #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
5. RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
复制代码
如果只需要对某个网页进行https跳转,可以使用redirect 301来做跳转!redirect 301 /你的网页 https://你的主机+网页
Nginx版本
在配置80端口的文件里面,写入以下内容即可。
1. server {
2. listen 80;
3. server_name localhost;
4. rewrite ^(.*)$ https://$host$1 permanent;
5. }
复制代码
IIS 版本
IIs中实现Http自动转换到Https方法介绍 (403跳转对SEO有一定影响)
1、根据IIS版本备份以下文件:
IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htm
IIS7.0以上 路径:C:\inetpub\custerr\zh-CN\403.htm
2、把以下内容全部拷贝替换(403-4或403)里面所有内容,保存即可
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
1. <HTML><HEAD><TITLE>该页必须通过安全通道查看</TITLE>
2. <META HTTP-EQUIV="Content-Type" Content="text/html; charset=GB2312">
3. </HEAD><BODY>
4. <script type="text/javascript">
5. var url = window.location.href;
6. if (url.indexOf("https") < 0) {
7. url = url.replace("http:", "https:");
8. window.location.replace(url);
9. }
10. </script>
11. </BODY></HTML>
注释:IIS6中,站点属性-》目录安全性-》编辑中把“要求安全通道(SSL)”勾选上即可。
IIS7、8中,SSL设置-》把“要求SSL”勾选即可。
TOMCAT 版本
1、在conf目录下的server.xml文件中找到以下配置,修改redirectPort参数值为"443",默认是“8443”.
1. <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
复制代码
2、在conf目录下的web.xml文件内容<web-app>……</web-app>中增加以下配置。
1. <web-app>
2. .........
3. <security-constraint>
4. <web-resource-collection >
5. <web-resource-name >SSL</web-resource-name>
6. <url-pattern>/*</url-pattern>
7. </web-resource-collection>
8. <user-data-constraint>
9. <transport-guarantee>CONFIDENTIAL</transport-guarantee>
10. </user-data-constraint>
11. </security-constraint>
12. </web-app>
单独页面通用代码段:以下方法较适合指定某一个子页单独https
在需要强制为https的页面上加入以下代码进行处理http-->https
1. <script type="text/javascript">
2. var url = window.location.href;
3. if (url.indexOf("https") < 0) {
4. url = url.replace("http:", "https:");
5. window.location.replace(url);
6. }
7. </script>
在需要强制为http的页面上加入以下代码进行处理
https-->http
1. <script language="JavaScript" type="text/JavaScript">
2. function redirect()
3. {
4. var loc = location.href.split(':');
5. if(loc[0]=='https')
6. {
7. location.href='http:'+loc[1];
8. }
9. }
10. onload=redirect
11. </script>
12.
PHP页面跳转:添加在网站php页面内
1. if ($_SERVER["HTTPS"] <> "on")
2. {
3. $xredir="https://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
4. header("Location: ".$xredir);
5. }
http跳转https的方法较多,以上仅供参考。
中维互联网络|济宁网站建设制作|原创文章提醒:到这里,教程就结束了,如果您感觉此文对您有帮助,欢迎多多转载。