一天一小步,人生一大步。
├学会总结╀学会记录╀学会生活┦

主要是这个东西,折腾了我两天,所以记录下来。

最开始是在meteor下面调用一个webservice,但是发现meteor项目的发布环境时https,所以请求的webservice也必须时webservice, 没办法,就把webservice的服务器改成了webservice的, 弄好以后一看,还是不行,报错显示说请求了一个不安全的https链接,还是不能正常调用webservice. 没法发只能老老实实的申请证书。

     首先是:配置好环境,简单提提, 将项目部署在tomcat下, 安装nginx做反向代理(就是把所有的请求直接转发到tomcat)

安装nginx >  apt-get install nginx
查看ng的配置文件位置:nginx -t (其实这是测试配置文件是否正确的命令) 

假设nginx的配置文件在:/ect/nginx/nginx.conf, 打开这个文件,一般会看到下面这一句:

    include /etc/nginx/conf.d/*.conf;

表示引入conf.d目下所有以 .conf 结尾的文件,

进入这个目录,并vi xm2013.com.conf,  在里面输入反向代理,跳转到tomcat的内容。

 server {
        listen 80;
        server_name .xm2013.com;
        return 301 https://$server_name$request_uri;
    }

 server {
        listen 443;
        server_name .xm2013.com;

        #access_log /var/log/nginx/aldwork-v2.access;
        #error_log /var/log/nginx/aldwork-v2.error;

        ssl on;
        ssl_certificate /root/1_xm2013.com_bundle.crt;
        ssl_certificate_key  /root/xm2013.key;
        ssl_protocols TLSv1.2;

        error_page 502 503 504 /index.html;

        location / {
            proxy_pass http://localhost:8080;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $http_host;

            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forward-Proto http;
            proxy_set_header X-Nginx-Proxy true;
            proxy_redirect off;
        }
    }

这里简单备注:

  1,红色部分表示启用ssl, 并且证书是:/root/1_xm2013.com_bundle.crt,私钥是:/root/xm2013.key

  2,这里监听了两个端口:80端口(http)请求,并将所有的http请求跳转到https请求,  440端口(https)请求,这里先启用ssl, 再把请求转发到tomcat.

 

申请ssl证书,

进入:http://www.startssl.com/

点击:sign-up

输入email, 点击线面发送验证码,


登陆邮箱,复制收到的验证码, 即可注册成功, 接下来注册证书。


点击:Certificates Wizard 在最后一列,Free ....什么的,表示免费,点击最后一列的: DV SSL Certificate

这里注意:

openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr

这条命令可以生成nginx配置ssl时,需要的key,

命令在服务器下面运行,也就是你要申请的域名绑定的服务器。

youname: 域名,

运行命令是会提示输入密码:这个密码需要记住,因为nginx启用ssl以后,每次重启需要输入的密码,就是这个密码。

生成好以后, linux在 /root 下面,会生成:yourname.keyyourname.csr两个文件。

打开.csr文件,全部复制里面的内容,粘贴到如下:

生成成功后,进入证书管理页面,点击Retrieve(下载)证书。

下载下来的是的压缩包,在里面找到: 找到nginx下面的.crt文件,传到服务器, nginx里面的路径和上传的crt文件路径保持一致。

 

在startssl.com里面添加新域名,

在Certificates Wizard里面,点击Add Domain. 会出现如下图:

 输入域名,点击:Continue,

如果是阿里云注册的域名,并开启了隐私保护,第一个会变成如上图所示,需要在阿里云的域名管理取消隐私保护,在此刷新,出现如下图:

第一个就变成了,你注册域名时的邮箱了,点击发送,会在邮箱里收到验证码,输入收到的验证码,点击验证。

 新域名就添加成功。

 

posted on 2016-11-03 14:27  .Xm  阅读(1210)  评论(0编辑  收藏  举报