这里介绍的是腾讯云申请证书的方式html
首先进入证书管理页面,而后点击申请证书nginx
申请免费版本的api
填写相关信息tomcat
而后等待审核经过服务器
证书审核经过后,下载证书文件到本地,解压后,这里使用 nginx 文件内的文件session
将两个文件上传到服务器指定目录下,待会会有使用到spa
首先肯定你的nginx安装http_ssl_module模块代理
注意最后一行 configure arguments 若是显示这样,说明已经安装否则则是没有安装code
若是没有安装,则要首先安装一下server
进入nginx源码包
#cd /usr/nginx/XXX 输入你的nginx源码包路径
配置nginx参数,安装http_ssl_module模块
#./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
编译
#make
备份原有已安装好的nginx
#cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
而后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要中止状态)
#cp ./objs/nginx /usr/local/nginx/sbin/
再次查看nginx安装的模块
#/usr/local/nginx/sbin/nginx -V
若是出现已经有http_ssl_module模块则表示成功
https配置80端口,当输入 www.xxx.com 会自动转到 https://www.xxx.com
server { listen 443; server_name xxx.com; // 你的域名 ssl on; root /var/www/bjubi.com; // 前台文件存放文件夹,可改为别的 ssl_certificate cert/214292799730473.crt;// 改为你的证书的 .crt 文件存放路径 ssl_certificate_key cert/214292799730473.key;// 改为你的证书的 .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 / { index index.html index.htm; } } server { listen 80; server_name bjubi.com;// 你的域名 rewrite ^(.*)$ https://$host$1 permanent;// 把http的域名请求转成https }
https配置 tomcat 8080 端口 注意:80 端口访问方式还是 http。
输入 http://www.xxx.com 等价于 www.xxx.com:80
输入 https://www.xxx.com 等价于 www.xxx.com:8080
server { listen 443; server_name xxx.com; // 你的域名 ssl on; root /var/www/xxx.com; // 前台文件存放文件夹,可改为别的 ssl_certificate cert/214292799730473.crt;// 改为你的证书的 .crt 文件存放路径 ssl_certificate_key cert/214292799730473.key;// 改为你的证书的 .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 / { proxy_pass http://127.0.0.1:8080/; index dashboard index; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 80; server_name xxx.com;// 你的域名 location / { root /home/wwwroot/default; index index.html index.htm; } }
配置文件更改后,进入nginx安装目录
cd /usr/local/nginx/sbin
$ ./nginx -t // 检查nginx配置文件
检查没问题后,从新加载nginx配置文件
$ ./nginx -s reload // 使配置生效
这里直接贴出目前项目的配置
server { listen 443 ssl; server_name hongonew.com;#主域名配置 ssl on; ssl_certificate /usr/ssl_certificate/1_www.hongonew.com_bundle.crt;#主域名SSL证书 ssl_certificate_key /usr/ssl_certificate/2_www.hongonew.com.key;#主域名SSL证书 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8080/;#主域名反向代理到8080端口 index dashboard index; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { listen 443 ssl; server_name api.hongonew.com;#二级域名配置 ssl on; ssl_certificate /usr/ssl_certificate/1_api.hongonew.com_bundle.crt;#二级域名SSL证书 ssl_certificate_key /usr/ssl_certificate/2_api.hongonew.com.key;#二级域名SSL证书 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:7080/;#二级域名反向代理到7080端口 index dashboard index; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }