1. 创建一个名为https.conf的配置文件,并将以下代码复制到文件中。
需要注意修改的部分:
listen 443 ssl; # 可以将443端口修改为其他端口
ssl_certificate /path/to/your/certificate/cloudlark.pingxingyun.com_bundle.crt; # 证书的.crt文件所在路径(根据实际证书存放位置修改)
ssl_certificate_key /path/to/your/certificate/cloudlark.pingxingyun.com.key; # 证书的key文件所在路径
具体结构体如下:
server {
listen 443 ssl;
server_name localhost;
error_page 497 400 https://$http_host$request_uri;
ssl_certificate C:\cert\cloudlark.pingxingyun.com_bundle.crt; # 这个是证书的crt文件所在目录
ssl_certificate_key C:\cert\cloudlark.pingxingyun.com.key; # 这个是证书key文件所在目录
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.2;
resolver_timeout 5s;
keepalive_timeout 60;
#查看后端服务状态
location /nginxstatus {
stub_status on;
access_log off;
}
location /static {
index index.html;
alias ./admin-front;
}
#----------------------- ------------------------------------
# 利用精确匹配,实现使用域名直接访问静态页面,而不用加/index
# 必须多解析一个精确匹配/index.html,否则404
#
# location /index {
# root ./admin-front;
location = / {
root ./admin-front/index;
index index.html;
}
location = /index.html {
root ./admin-front/index;
#index index.html;
}
#-------------------------------------------------------------
location /webclient {
index index.html;
root ./admin-front;
}
#Minio图片转发
location ^~ /image/ {
proxy_pass http://localhost:9000/image/;
}
location / {
proxy_pass http://larkxr-admin/;
proxy_cookie_path / /;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Proto https;
#用于解决getRequestURL方法获取不到https协议请求问题,使用request.getHeader("X-Forwarded-Scheme")来获取协议头
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_redirect http:// https://;
client_max_body_size 100m;
#默认值60s, nginx连接到后端服务器的连接超时时间
#如果后端服务挂了会一直等到该时间后才超时,这个时间内其他的请求还会被分配到该节点,
#触发超时以后才会把该节点标记为下线,这样这个时间内大量连接处于等待状态对服务器造成压力,
#而且会分到该节点的大量请求,最终都是都是无法访问的,降低了可用性和用户体验。
#另外,如果前端页面的timeout时间短与该值也会导致前端页面先于后台返回提前超时,返回499的错误。
#如果前端页面超时设置为3s,这个位置就尽量设置3s以下。
proxy_connect_timeout 2;
#默认值 60s
proxy_send_timeout 60;
#默认值 60s
proxy_read_timeout 60;
}
#也可以写成:location ^~ /websocket {表示非正则匹配,一旦匹配到以/websocket开头的,就停止正则搜索,一般匹配还会继续搜索
location /websocket {
proxy_pass http://larkxr-admin;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Proto https;
#升级为WebSocket协议
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
client_max_body_size 1m;
#默认值60s, nginx连接到后端服务器的连接超时时间
#如果后端服务挂了会一直等到该时间后才超时,这个时间内其他的请求还会被分配到该节点,
#触发超时以后才会把该节点标记为下线,这样这个时间内大量连接处于等待状态对服务器造成压力,
#而且会分到该节点的大量请求,最终都是都是无法访问的,降低了可用性和用户体验。
#另外,如果前端页面的timeout时间短与该值也会导致前端页面先于后台返回提前超时,返回499的错误。
#如果前端页面超时设置为3s,这个位置就尽量设置3s以下。
proxy_connect_timeout 2;
#默认值 60s
proxy_send_timeout 60;
#默认值 60s
proxy_read_timeout 60;
}
location ^~ /appli/upload {
proxy_pass http://larkxr-admin/appli/upload;
proxy_cookie_path / /;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Proto https;
#用于解决getRequestURL方法获取不到https协议请求问题,使用request.getHeader("X-Forwarded-Scheme")来获取协议头
proxy_set_header X-Forwarded-Scheme $scheme;
#add_header 'Access-Control-Allow-Origin' '*';
#add_header 'Access-Control-Allow-Credentials' 'true';
#add_header Access-Control-Allow-Methods '*';
#add_header 'Access-Control-Allow-Headers' *;
client_max_body_size 10240m;
proxy_connect_timeout 2;
proxy_send_timeout 60;
#默认60,上传大文件时报504错误,所以加大超时时限
proxy_read_timeout 7200;
}
location ^~ /appli/sliceUpload {
proxy_pass http://larkxr-admin/appli/sliceUpload;
proxy_cookie_path / /;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-Proto https;
#用于解决getRequestURL方法获取不到https协议请求问题,使用request.getHeader("X-Forwarded-Scheme")来获取协议头
proxy_set_header X-Forwarded-Scheme $scheme;
#add_header 'Access-Control-Allow-Origin' '*';
#add_header 'Access-Control-Allow-Credentials' 'true';
#add_header Access-Control-Allow-Methods '*';
#add_header 'Access-Control-Allow-Headers' *;
client_max_body_size 10240m;
proxy_connect_timeout 2;
proxy_send_timeout 60;
#默认60,上传大文件时报504错误,所以加大超时时限
proxy_read_timeout 7200;
}
}
2. 将新创建的配置文件放置在以下目录:

3. 重启nginx服务
