zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    ubuntu下java环境变量配置
    批处理 控制 服务
    javascript break up a code line within a text string with a backslash.
    javascript for...in statement
    javascript output str to browser
    javascript RegExp
    javascript try catch throw
    javascript prototype
    javascript box
    java 移位处理
  • 原文地址:https://www.cnblogs.com/h-c-g/p/15215437.html
Copyright © 2011-2022 走看看