nginx 配置 https

第一步、申请SSL证书

 

这里介绍的是腾讯云申请证书的方式html

首先进入证书管理页面,而后点击申请证书nginx

申请免费版本的api

填写相关信息tomcat

而后等待审核经过服务器

 

第二步、下载证书

 

证书审核经过后,下载证书文件到本地,解压后,这里使用 nginx 文件内的文件session

将两个文件上传到服务器指定目录下,待会会有使用到spa

 

第三步、配置 nginx  ssl_module 模块

 

首先肯定你的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模块则表示成功

 

 

第四步、配置nginx.conf

 

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 // 使配置生效

 

第五步、配置nginx二级域名https

这里直接贴出目前项目的配置

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;
	    } 
    }
相关文章
相关标签/搜索