风宇博客全站HTTPS配置

原文链接:全站HTTPS配置

springboot整合webSocket:鉴权,心跳检测,wss请求,nginx配置、集群部署

【Nginx笔记02】通过Nginx服务器转发客户端的WebSocket接口到后端服务

Nginx配置WebSocket

Gateway集成WebSocket 实现前后端通信(全)

Spring Cloud微服务使用webSocket的方法

Spring Boot+Vue前后端分离项目部署笔记

Docker+nginx部署SpringBoot+vue前后端分离项目(保姆及入门指南)

使用docker-compose部署MySQL+Spring Boot+Vue前后端分离项目

【docker-compose安装nginx并部署前端项目】

Vue项目打包到Spring Boot后部署Tomcat

【SpringBoot高级篇】SpringBoot项目部署到docker环境中

【Docker应用篇】Docker部署SpringBoot项目(Jar包)

【SpringBoot新手篇】SpringBoot项目打包部署

Dockerfile EXPOSE有什么用?
Docker 中无法使用 JDK jmap之 Can't attach to the process: ptrace(PTRACE_ATTACH问题
Java中JVM常用参数配置教程(提供配置示例)
Linux查看应用Jvm参数的几种方式
jmap heap输出解析
JVM浅析之GC篇
【JVM】JVM参数性能调优 -Xms -Xmx -Xmn -Xss
程序员必须掌握的jar包启动命令详解
启动jar包命令
nohup java -jar后台启动,参数"> /dev/null 2>&1"的含义

idea设置Java程序运行参数
Idea中为java程序添加启动参数(含:VM options、Program arguments、Environment variable)

SpringBoot项目服务器启动 / 关闭脚本
SpringBoot项目启动、停止脚本
Linux使用一个脚本启用、停用springboot项目(本文带脚本)

文章目录

1.申请ssl证书(阿里云为例)

打开阿里云控制台SSL证书应用

进入后点击SSL证书 -> 免费证书 -> 立即购买

完成后点击创建证书 -> 证书申请

填写好你的相关信息等待申请成功

申请成功后点击下载

选择nginx

下载完解压后会出现pem和key文件

2.将ssl文件传输到服务器上

我这里传输的路径是/usr/local/nginx/cert (没创建的需手动创建)

3.修改nginx配置

html 复制代码
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    client_max_body_size     50m;
    client_body_buffer_size  10m; 	  
    client_header_timeout    1m;
    client_body_timeout      1m;

    gzip on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_comp_level  4;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
	
server {

        listen  443 ssl;
        server_name  前台域名;

        ssl on;
        ssl_certificate    pem文件位置;
        ssl_certificate_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 / {
            root   /usr/local/vue/blog;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
		
        location ^~ /api/ {
            proxy_pass http://你的ip:8080/;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }

    }

server {

        listen  443 ssl;
        server_name  后台子域名;

        ssl on;
        ssl_certificate    pem文件位置;
        ssl_certificate_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 / {
            root   /usr/local/vue/admin;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
		
        location ^~ /api/ {
            proxy_pass http://你的ip:8080/;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
	
    }

server {

        listen  443 ssl;
        server_name  websocket子域名;

        ssl on;
        ssl_certificate    pem文件位置;
        ssl_certificate_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://你的ip:8080/websocket;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "Upgrade";
          proxy_set_header Host $host:$server_port;
          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  上传文件子域名;
		
        ssl on;
        ssl_certificate    pem文件位置;
        ssl_certificate_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 / {		
          root /usr/local/upload/; 
        }		
		
    }	

server {
        listen       80;
        server_name  前台域名;
		
        rewrite ^(.*)$	https://$host$1	permanent;
 
    }
	
server {
        listen       80;
        server_name  后台子域名;
     
        rewrite ^(.*)$	https://$host$1	permanent;
		
    }
 
server {
        listen       80;
        server_name  websocket子域名;
    
        rewrite ^(.*)$	https://$host$1	permanent;

    }

server {
        listen       80;
        server_name  上传文件子域名;
    
        rewrite ^(.*)$	https://$host$1	permanent;

    }
	
}

配置好域名和对应上传的pem文件和key文件位置(绝对路径,例/usr/local/nginx/cert/5215670_www.ws.talkxj.com.pem)

启动nginx

clike 复制代码
docker run --name nginx --restart=always \
-p 80:80 \
-p 443:443 \
-d \
-v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/vue:/usr/local/vue \
-v /usr/local/nginx/cert:/usr/local/nginx/cert \
-v /usr/local/upload:/usr/local/upload nginx 

4.其他配置

恢复前端项目下的public下的index.html注释,升级全站https请求

进入后台管理页面 -> 网站配置 -> 其他设置,将websocket域名改为wss协议

5.总结

每个子域名都要配置对应的ssl证书(毕竟白嫖),各个服务商的申请方式可能不一样。然后就是nginx.conf写好对应配置,最后前端升级下https请求就能完成全站https升级啦。

相关推荐
UsamaBinLaden16 分钟前
Ubuntu和Debian系列的Release默认shell解释器变更
linux·ubuntu·debian
dsywws27 分钟前
Linux学习笔记之文件目录类指令
linux·笔记·学习
小安运维日记27 分钟前
Linux云计算 |【第五阶段】CLOUD-DAY8
linux·运维·docker·云计算·k8s·学习方法
chian-ocean31 分钟前
【linux】的爱恨情仇
linux·运维·服务器
C++忠实粉丝1 小时前
计算机网络socket编程(1)_UDP网络编程实现echo server
linux·服务器·网络·c++·网络协议·计算机网络·udp
qq_203769492 小时前
debian11安装最新rabbitmq
linux·rabbitmq
孤客网络科技工作室2 小时前
Linux 使用及常用命令详解
linux·运维·服务器
大风吹PP凉3 小时前
24软件包的查找、安装、更新和卸载
linux·运维·服务器
HHONGQI1233 小时前
Linux 外设驱动 应用 5 LCD 控制实验
linux
半夏一4 小时前
Linux下复制粘贴快捷键
linux·运维·服务器