https证书申请验证

需求:项目原来时http://开始的访问路径,现有需求改为https开头的访问路径

申请一个自己的域名

好多的云服务提供商都可以提供域名申请和SSL证书申请

我是找了个免费的注册网站(新网 http://www.xinnet.com/

SSL证书也有免费的

先说注册域名

新网 http://www.xinnet.com/注册的域名,新用户搞活动时可以申请一个免费一年的域名,域名申请需要实名认证,我们测试使用申请一个根域名便宜的域名即可,比如xyz结尾的

 域名有了以后还需要在控制台添加域名解析才能用

根据官网的提示提交解析,新增域名解析时新增自己申请的域名和www.域名绑定IP地址即可

申请SSL证书

可以到这个https://letsencrypt.osfipin.com/网站申请SSL证书,有效期为3个月到期重新申请即可;也可以到https://freessl.cn/去申请我用的第一个网站申请的。

申请证书的方式有好多种,有付费的也有免费的,有命令式的也有图形式,下面这个时最简单的图形操作,新手容易理解上手,缺点就是到期需要手动重新申请

申请的时候按照人家官网提示操作即可,过程中需要验证域名的有效性,也是按照提示验证就行,

这里我有个疑问就是人家提供的验证方式有俩种,其中一种是需要在网站绝对路径下新增文件夹并拷贝一个txt验证文件进去,因为我不清楚网站的绝对路径是啥,

就选择了另外一种验证方式,到期再次申请的时候还要验证。

验证俩次,验证通过后就可以申请SSL证书了,并下载证书

 证书下载完成后,解压压缩文件,修改证书和密钥的后缀,然后放在ngnix/config/的一个文件夹下面即可,放在其他地方ngnix启动时找不到ssl证书

ngnix配置

默认的一下配置可以管它们,我这里配置了负载均衡的代理和ssl证书

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream test{
        ip_hash;
        server 127.0.0.1:9001;
        server 127.0.0.1:9002;
    }
    server {
        listen       80;
        #监听域名
        server_name  www.test97.xyz;
        rewrite ^(.*)$ https://$server_name$1 permanent; #这句是代表 把http的域名请求转成https
        location / {
            proxy_pass  http://test;
            proxy_set_header Host $host;#将请求头转发给后端服务器
            proxy_set_header X-Forward-For $remote_addr;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Server $host;
        
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    # HTTPS server
    server {
        listen 443 ssl;
        server_name  www.test97.xyz;
        ssl_certificate cert/fullchain.pem;
        ssl_certificate_key cert/private.key;
        ssl_protocols TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;    
        ssl_session_timeout 10m;
        location / {
                proxy_pass http://test;
           }
    }

}

启动ngnix或者重启

start ngnix.exe 或者nginx.exe -s reload

把项目跑起来,在浏览器用https访问一下试试

我的测试项目在自己电脑上运行,所以以上适用于windows使用,linux可以自己研究下,linux申请证书更容易直接使用命令,并且可以设置定时任务自己更新证书

测试时页面引用http的请求可以暂时更改浏览器的安全设置来实现

JavaScript 页面跳转、页面重定向

JavaScript 实现页面跳转重定向可以使用以下两种方法:

window.location.replace("url")

类似 HTTP 重定向

将地址替换成新 url,该方法通过指定 URL 替换当前缓存在历史里(客户端)的项目,因此当使用 replace 方法之后,你不能通过"前进"和"后退"来访问已经被替换的URL,这个特点对于做一些过渡页面非常有用!

window.location.href="url"

类似点击 a 标签的链接

跳转到指定的 url。

原文地址:https://www.cnblogs.com/h-c-g/p/15215437.html