主要是这个东西,折腾了我两天,所以记录下来。
最开始是在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.key
, yourname.csr
两个文件。
打开.csr文件,全部复制里面的内容,粘贴到如下:
生成成功后,进入证书管理页面,点击Retrieve(下载)证书。
下载下来的是的压缩包,在里面找到: 找到nginx下面的.crt文件,传到服务器, nginx里面的路径和上传的crt文件路径保持一致。
在startssl.com里面添加新域名,
在Certificates Wizard里面,点击Add Domain. 会出现如下图:
输入域名,点击:Continue,
如果是阿里云注册的域名,并开启了隐私保护,第一个会变成如上图所示,需要在阿里云的域名管理取消隐私保护,在此刷新,出现如下图:
第一个就变成了,你注册域名时的邮箱了,点击发送,会在邮箱里收到验证码,输入收到的验证码,点击验证。
新域名就添加成功。