docs: 📚 修改文档

This commit is contained in:
bunny 2024-11-08 16:51:26 +08:00
parent 37554519ef
commit f12337d403
11 changed files with 460 additions and 98 deletions

313
ReadMe.md
View File

@ -1,12 +1,12 @@
# 项目预览
不知道为什么图床用的使自己的Gitee就是不显示其它GitHub和Gitea都能显示就Gitee显示不出来
或者把项目clone下来看也可以
不知道为什么图床用的使自己的Gitee就是不显示其它GitHub和Gitea都能显示就Gitee显示不出来如果想用Gitee就把ReadMe文件下载下来也行或者把项目clone下来看也可以
**线上地址**
- 正式线上预览地址http://111.229.137.235/#/welcome
- 正式线上预览地址http://bunny-web.site/#/welcome
- 线上地址目前使用的是90天的SSL证书可能会提示链接不安全忽略就好了
- 测试预览地址http://106.15.251.123/#/welcome
- 服务器到期时间12月30日
@ -177,6 +177,74 @@ FLUSH PRIVILEGES;
![image-20241107133345299](http://116.196.101.14:9000/docs/image-20241107133345299.png)
## 后端日志文件
在后端日志文件中,使用了`logback.xml`进行格式化。然而,使用`logback.xml`后配置文件中指定的日志输出文件位置可能会失效。如果项目是通过Docker部署的想在宿主机查看日志文件需要进行文件映射。
### 使用SpringBoot
在配置文件中指定名称和目录路径即可之后使用docker映射就可以在宿主机看到日志了
如果想要用自带需要删除`logback.xml`文件
```
logging:
level:
cn.bunny.service.mapper: warn
cn.bunny.service.controller: warn
cn.bunny.service.service: warn
root: warn
pattern:
dateformat: HH:mm:ss:SSS
file:
path: "logs/${spring.application.name}"
name: "logs/${spring.application.name}"
```
### 使用logback.xml
指定目录的位置`<file>D:/logs/${datetime}/auth-server.log</file>`根据你需要的指定
```xml
<!-- 格式化 年--日 输出 -->
<timestamp key="datetime" datePattern="yyyy-MM-dd"/>
<appender name="STOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%cyan([%thread]) %yellow(%-5level) %green(%logger{100}).%boldRed(%method)-%boldMagenta(%line)- %blue(%msg%n)
</pattern>
</encoder>
</appender>
<!-- 文件日志 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>/www/root/server/logs/${datetime}/auth-server.log</file>
<append>true</append>
<encoder>
<pattern>%date{yyyy-MM-dd HH:mm:ss} %-5level %logger{100} %method %line %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
```
> 如果按照上面搭建,日志文件会在`/www/root/server/logs`下即使使Windows系统也会存在如果docker使用的是文件映射那么日志文件会在容器相对应的位置
如果开发环境或者其他环境也需要日志,可以根据当前环境进行选择`<springProfile name="prod">`
```xml
<!-- 生产环境 -->
<springProfile name="prod">
<!-- 日志记录器业务程序INFO级别 -->
<logger name="cn.bunny" level="INFO"/>
<!-- 根日志记录器INFO级别 -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</springProfile>
```
# 项目特点
### 按钮权限显示
@ -810,59 +878,25 @@ public class MenuIconVo extends BaseUserVo {
使用Docker进行部署后端接口地址以`/admin`开头,但前端默认请求前缀为`/api`,因此在请求时需要进行替换。详细内容请参考以下【项目部署】说明。
## 配置相关
## 前端部署
### docker文件
运行`pnpm build`
```dockerfile
# 使用官方的 Nginx 镜像作为基础镜像
FROM nginx
dockerfile中暴露端口要和生产环境的端口号保持一致
# 删除默认的 Nginx 配置文件
RUN rm /etc/nginx/conf.d/default.conf
### 使用http协议
# 将自定义的 Nginx 配置文件复制到容器中
COPY nginx.conf /etc/nginx/conf.d/default.conf
如果不使用https需要将下面内容注释
# 设置时区,构建镜像时执行的命令
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
![image-20241108152526666](http://116.196.101.14:9000/docs/auth/image-20241108152526666.png)
# 创建一个目录来存放前端项目文件
WORKDIR /usr/share/nginx/html
对外暴露端口改为`80`或者你自己喜欢的端口
# 将前端项目打包文件复制到 Nginx 的默认静态文件目录
COPY dist/ /usr/share/nginx/html
# 复制到nginx目录下
COPY dist/ /etc/nginx/html
![image-20241108154244339](http://116.196.101.14:9000/docs/auth/image-20241108154244339.png)
# 暴露 Nginx 的默认端口
EXPOSE 80
#### NGINX配置
# 自动启动 Nginx
CMD ["nginx", "-g", "daemon off;"]
```
### NGINX文件
在请求中会使用代理所以会拿不到用户真实的IP地址素以在要NGINX侠做下面的配置这样用户在访问时就可以拿到真实的IP了
```nginx
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;
```
#### 如果需要使用https协议
```dockerfile
COPY bunny-web.site.csr /etc/nginx/bunny-web.site.csr
COPY bunny-web.site.key /etc/nginx/bunny-web.site.key
COPY bunny-web.site_bundle.crt /etc/nginx/bunny-web.site_bundle.crt
COPY bunny-web.site_bundle.pem /etc/nginx/bunny-web.site_bundle.pem
```
NGINX的文件
将NGINX配置修改为以下内容
```nginx
map $http_upgrade $connection_upgrade {
@ -871,73 +905,174 @@ map $http_upgrade $connection_upgrade {
}
server {
listen 80;
listen [::]:80;
server_name localhost;
listen 80 ;
listen [::]:80;
server_name localhost;
location / {
root /etc/nginx/html;
index index.html index.htm;
try_files $uri /index.html;
}
location / {
root /etc/nginx/html;
index index.html index.htm;
try_files $uri /index.html;
}
# 后端跨域请求
location ~/admin/ {
proxy_pass http://172.17.0.1:8000;
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;
}
# 后端跨域请求
location ~/admin/ {
proxy_pass http://172.17.0.1:8000;
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;
}
error_page 404 404.html;
error_page 404 404.html;
location = /50x.html {
root html;
}
location = /50x.html {
root html;
}
}
```
## 项目部署
如果你的暴露的端口和我一样是`80`
使用WebStorm进行项目部署项目上线时默认端口为80。因此Docker默认暴露的IP端口也应为80NGINX中默认暴露的端口也是80三者应一一对应。
![image-20241108154344561](http://116.196.101.14:9000/docs/auth/image-20241108154344561.png)
若无法下载请先使用pnpm下载。若不需使用pnpm请删除或修改相应内容。
### 使用https协议
![image-20241026025057129](http://116.196.101.14:9000/docs/auth/undefinedimage-20241026025057129.png)
#### 环境准备
### docker配置
需要ssl证书这个是必要的之后将ssl证书解压
![image-20241026024116090](http://116.196.101.14:9000/docs/auth/undefinedimage-20241026024116090.png)
![image-20241108145836035](http://116.196.101.14:9000/docs/auth/image-20241108145836035.png)
### 配置环境
解压后放到docker文件下
设置启动端口号和项目地址机器后端请求地址
![image-20241108151141289](http://116.196.101.14:9000/docs/auth/image-20241108151141289.png)
![image-20241026024813858](http://116.196.101.14:9000/docs/auth/undefinedimage-20241026024813858.png)
#### 注意事项
#### 配置线上环境
在docker文件中需要将证书相关信息复制到docker容器中名称对应文件下的文件名如果你想部署名称肯定是不一样的当然你可以重命名成和我一样的
设置项目启动端口号,线上环境默认请求路径为`/admin`需在NGINX中将访问请求前缀更改为`/admin`。
```dockerfile
# 将自定义的 Nginx 配置文件复制到容器中
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY bunny-web.site.csr /etc/nginx/bunny-web.site.csr
COPY bunny-web.site.key /etc/nginx/bunny-web.site.key
COPY bunny-web.site_bundle.crt /etc/nginx/bunny-web.site_bundle.crt
COPY bunny-web.site_bundle.pem /etc/nginx/bunny-web.site_bundle.pem
```
![image-20241026024940747](http://116.196.101.14:9000/docs/auth/undefinedimage-20241026024940747.png)
如果使用的是SSL链接将端口号更改下改成`443`
![image-20241026024243785](http://116.196.101.14:9000/docs/auth/undefinedimage-20241026024243785.png)
![image-20241108151643011](http://116.196.101.14:9000/docs/auth/image-20241108151643011.png)
#### 配置开发环境
配置NGINX的配置文件这些文件内容网上都有可以参看腾讯云文档
开发环境默认IP为7000若与本地项目端口冲突请修改。后端请求地址为7070。
- 证书下载和配置方式https://cloud.tencent.com/document/product/400/4143?from_cn_redirect=1
- NGINX搭建SSL链接https://cloud.tencent.com/document/product/400/35244
前端设置的请求前缀为`/api`,但后端接受的前缀为`/admin`,因此需在服务中修改此内容。
```nginx
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
![image-20241026024318644](http://116.196.101.14:9000/docs/auth/undefinedimage-20241026024318644.png)
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name localhost;
#请填写证书文件的相对路径或绝对路径
ssl_certificate bunny-web.site_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key bunny-web.site.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
**修改请求路径**
location / {
root /etc/nginx/html;
index index.html index.htm;
try_files $uri /index.html;
}
![image-20241026031651591](http://116.196.101.14:9000/docs/auth/undefinedimage-20241026031651591.png)
# 后端跨域请求
location ~/admin/ {
proxy_pass http://172.17.0.1:8000;
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;
}
### 部署命令
error_page 404 404.html;
location = /50x.html {
root html;
}
}
server {
listen 80 ;
listen [::]:80;
server_name localhost;
return 301 https://$host$request_uri;
location / {
root /etc/nginx/html;
index index.html index.htm;
try_files $uri /index.html;
}
# 后端跨域请求
location ~/admin/ {
proxy_pass http://172.17.0.1:8000;
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;
}
error_page 404 404.html;
location = /50x.html {
root html;
}
}
```
#### 运行docker文件
![image-20241108151726981](http://116.196.101.14:9000/docs/auth/image-20241108151726981.png)
![image-20241108151940158](http://116.196.101.14:9000/docs/auth/image-20241108151940158.png)
> 命令预览
>
> ```sh
> docker build -f Dockerfile -t bunny_auth_web:1.0.0 . && docker run -p 80:443 -p 443:443 --name bunny_auth_web --restart always bunny_auth_web:1.0.0
> ```
## 后端部署
开发环境环境:对外暴露的端口是`7070`
生产环境:对外暴露的端口是`8000`
需要先打包,打包完成后会在目录下生成对应的`target`相关文件
```bash
docker build -f Dockerfile -t bunny_auth_web:1.0.0 . && docker run -p 80:80 --name bunny_auth_web --restart always bunny_auth_web:1.0.0
# 开发环境
mvn clean package -Pprod -DskipTests
# 测试环境
mvn clean package -Ptest -DskipTests
```
![image-20241108153705104](http://116.196.101.14:9000/docs/auth/image-20241108153705104.png)
这个文件夹是必须的
![image-20241108153750097](http://116.196.101.14:9000/docs/auth/image-20241108153750097.png)

View File

@ -6,10 +6,10 @@ RUN rm /etc/nginx/conf.d/default.conf
# 将自定义的 Nginx 配置文件复制到容器中
COPY nginx.conf /etc/nginx/conf.d/default.conf
#COPY bunny-web.site.csr /etc/nginx/bunny-web.site.csr
#COPY bunny-web.site.key /etc/nginx/bunny-web.site.key
#COPY bunny-web.site_bundle.crt /etc/nginx/bunny-web.site_bundle.crt
#COPY bunny-web.site_bundle.pem /etc/nginx/bunny-web.site_bundle.pem
COPY bunny-web.site.csr /etc/nginx/bunny-web.site.csr
COPY bunny-web.site.key /etc/nginx/bunny-web.site.key
COPY bunny-web.site_bundle.crt /etc/nginx/bunny-web.site_bundle.crt
COPY bunny-web.site_bundle.pem /etc/nginx/bunny-web.site_bundle.pem
# 设置时区,构建镜像时执行的命令
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
@ -24,7 +24,7 @@ COPY dist/ /usr/share/nginx/html
COPY dist/ /etc/nginx/html
# 暴露 Nginx 的默认端口
EXPOSE 80
EXPOSE 443
# 自动启动 Nginx
CMD ["nginx", "-g", "daemon off;"]

18
docker/bunny-web.site.csr Normal file
View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIC/DCCAeQCAQAwgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMQ8wDQYDVQQKEwZxY2xvdWQxDzANBgNVBAsTBnFjbG91
ZDEXMBUGA1UEAxMOYnVubnktd2ViLnNpdGUxHDAaBgNVBAUTEzcwMjQ3NDk4NzQ4
Mjg1OTA5MzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD1Ld0oD+qm
7JM6uEphC+HfNPhVA3IgCSEXxaNOe+WzrvVefopk7odWpjZMCRMm8kS3YUXJI3as
ff0NMJbmih7h7ESeQsd+JoPs+nIwFPovNYzjTfdw2Q0HQZ5zladbg4v7j1JWHQ4/
7PpxhsD08KJ5hidGO6pq7WF+LDvm824teYhdGBCjqCBfsF7FSe0htVIFF6g1c4fC
s/HLW+PLz/Crkr58OQZHEhyeC+wmnB1H5QBZHh2peNvfSgCXs5CQutGVtewfIsAU
BLkHE6xFeYv1kWIguuycQ6FBFL+fRUAcXS9n8OXAwbIuTLeRLShtqBGQz4meSmC1
UiJeedsKaawTAgMBAAGgLDAqBgkqhkiG9w0BCQ4xHTAbMBkGA1UdEQQSMBCCDmJ1
bm55LXdlYi5zaXRlMA0GCSqGSIb3DQEBCwUAA4IBAQAEJRIgGVU0ij9TWdNFJ1y7
YW67sGKH/zCjNfmwCWjvJ+zDDGxNpuwUiKj6jwDNL/ku99axIbJ3Rzn8HQ75N1M6
IzNKTUtlEgYcj84khilGFOgS3Fr/BPpRLVjx0BdXHRO+sbKx5Gg2tqQwhVFqlJxM
MYXpSbzjs+RwFZhy30l6Zhpu6nfkj3tBZYE+gTiOQaKXyUNrGZAVdFzesEaOIVcv
oQFYFFU/HVsiizupS4tcL1GFko7fkNwXQ0Da3QEoA++JNC9RAi4iRfRjGxhnpk0N
LqGV9Y2ExFn5VBZNyab1TIGmr3xSeGz1BNLLyoquRbcmSOS0WPW8koawBe/P90bM
-----END CERTIFICATE REQUEST-----

27
docker/bunny-web.site.key Normal file
View File

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA9S3dKA/qpuyTOrhKYQvh3zT4VQNyIAkhF8WjTnvls671Xn6K
ZO6HVqY2TAkTJvJEt2FFySN2rH39DTCW5ooe4exEnkLHfiaD7PpyMBT6LzWM4033
cNkNB0Gec5WnW4OL+49SVh0OP+z6cYbA9PCieYYnRjuqau1hfiw75vNuLXmIXRgQ
o6ggX7BexUntIbVSBReoNXOHwrPxy1vjy8/wq5K+fDkGRxIcngvsJpwdR+UAWR4d
qXjb30oAl7OQkLrRlbXsHyLAFAS5BxOsRXmL9ZFiILrsnEOhQRS/n0VAHF0vZ/Dl
wMGyLky3kS0obagRkM+JnkpgtVIiXnnbCmmsEwIDAQABAoIBAGvG2oYG4Sa5rkrM
wl2AxKzC8zsjxaJRgQubJJuWmTXwfgoo5BtUQ4gSjqHEB3hCXXSjPPMbNMrEo12N
83eqVcMIgm1ze5B3y9x7h4CdaBEioCk3l8MylqiO7uFucuAmpn1R1mbmZOIzATCw
hNfng/SZxV/5UIOqkAXP2hE/BzrTapvzmYrKAYLqqLAfkuII5m16FgjbGuG4Dnch
l+voT93fCK0fZkwz70oNYSos1F73XourXXfauuWCBy9kbmizfHU3klqkATZqPt1W
cYSIaamZOWQ3PE66oRPDnGixTdw+IxPrr0htwXN7XKZVKgKzirBfDnI5HplUzPKL
bowZmRECgYEA+dmAjXNPJeIJBgVTIeGZ3Td9jnZq+EeD5LGGfJ2bncZ3ExCNsiV/
djMSj0KFZlkc7GNydSaig0GMoLJzr3vOpYi4/areWNZ5Ar4BkH/1S/0u9v+kYox4
5vp1JJ6jRSw60A2YH5LI7Wzs8r7S/rIWo0RT/WFvj2gXqKiEfbwCLWkCgYEA+zbt
88Ex+YOY1I2YYQL0eAH2l3DX4nqjJr6btsTZO/nd7tRI5v7VwOzdhU8YaC+Sj64+
qPQUg/79cjlMO5FdVdX7k2Dms1ZcT6C9BnZ+NugEaZH9Sgmd2sBJNpGl0rAeZcSn
R/gYTC13Z5vtKbUMtpsXZydKwey4wOT0J7fhkhsCgYAHcBkqnNcrWopIOppZ9Nxe
wIslVZMjpwVfJoXJaeu7C7B5ydFeD023GBgiWamc/WQmCWPb5vWJkMb99bIJ9FaX
iPVw38hUvrXFhiCHy7ditrvSMJQVNvdWcPhRycM0iPeLQAxaTEVdBBQdud6QJH8W
By+06FSo4UFrDPE8yP8LmQKBgBKdJ1SAZCuQzKozM688gNDDlHn0Korle2FLjk4k
l9QR15fystQq3bvF0UQncC+IFtv+lTX/n+WH50+nXzaqtre9ez6YV3/CTmS4DEmG
TiPTXUBVSOdLfx7OUJ5yfE74Lchsodh7UZGTbN2IeDI28BI3u6wxBSEJYUcpr82h
ml0xAoGBALHmuJxcaawZn2KC467Z8xP6+ggxzjsnnk+GlfqeqSmlaSVBo0Di8Nz2
ekHHzRSIL+YZ3dsfrgR4IVigrlYETHGZl4BAtU2Yi0+1T1qhgTFkPlATuB5uHBhf
dyULEujSQy+yeoS+RR+69XUswhhrNUgij9rKHDDjMHbdnKO0fSgs
-----END RSA PRIVATE KEY-----

View File

@ -0,0 +1,64 @@
-----BEGIN CERTIFICATE-----
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
QT4W0Lc=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw
ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y
ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg
VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM
UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs
Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm
qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c
Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf
IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5
8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB
Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8
SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY
1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB
JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE
FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E
CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE
GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo
dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy
bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k
b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY
eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO
2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4
3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP
v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s
Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,64 @@
-----BEGIN CERTIFICATE-----
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
QT4W0Lc=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFBzCCA++gAwIBAgIRALIM7VUuMaC/NDp1KHQ76aswDQYJKoZIhvcNAQELBQAw
ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0yMjAxMTAwMDAwMDBaFw0y
ODEyMzEyMzU5NTlaMFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKExxUcnVzdEFzaWEg
VGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDExpUcnVzdEFzaWEgUlNBIERWIFRM
UyBDQSBHMjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAKjGDe0GSaBs
Yl/VhMaTM6GhfR1TAt4mrhN8zfAMwEfLZth+N2ie5ULbW8YvSGzhqkDhGgSBlafm
qq05oeESrIJQyz24j7icGeGyIZ/jIChOOvjt4M8EVi3O0Se7E6RAgVYcX+QWVp5c
Sy+l7XrrtL/pDDL9Bngnq/DVfjCzm5ZYUb1PpyvYTP7trsV+yYOCNmmwQvB4yVjf
IIpHC1OcsPBntMUGeH1Eja4D+qJYhGOxX9kpa+2wTCW06L8T6OhkpJWYn5JYiht5
8exjAR7b8Zi3DeG9oZO5o6Qvhl3f8uGU8lK1j9jCUN/18mI/5vZJ76i+hsgdlfZB
Rh5lmAQjD80M9TY+oD4MYUqB5XrigPfFAUwXFGehhlwCVw7y6+5kpbq/NpvM5Ba8
SeQYUUuMA8RXpTtGlrrTPqJryfa55hTuX/ThhX4gcCVkbyujo0CYr+Uuc14IOyNY
1fD0/qORbllbgV41wiy/2ZUWZQUodqHWkjT1CwIMbQOY5jmrSYGBwwIDAQABo4IB
JjCCASIwHwYDVR0jBBgwFoAUoBEKIz6W8Qfs4q8p74Klf9AwpLQwHQYDVR0OBBYE
FF86fBEQfgxncWHci6O1AANn9VccMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8E
CDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAiBgNVHSAE
GzAZMA0GCysGAQQBsjEBAgIxMAgGBmeBDAECATBDBgNVHR8EPDA6MDigNqA0hjJo
dHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNy
bDA0BggrBgEFBQcBAQQoMCYwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k
b2NhLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAHMUom5cxIje2IiFU7mOCsBr2F6CY
eU5cyfQ/Aep9kAXYUDuWsaT85721JxeXFYkf4D/cgNd9+hxT8ZeDOJrn+ysqR7NO
2K9AdqTdIY2uZPKmvgHOkvH2gQD6jc05eSPOwdY/10IPvmpgUKaGOa/tyygL8Og4
3tYyoHipMMnS4OiYKakDJny0XVuchIP7ZMKiP07Q3FIuSS4omzR77kmc75/6Q9dP
v4wa90UCOn1j6r7WhMmX3eT3Gsdj3WMe9bYD0AFuqa6MDyjIeXq08mVGraXiw73s
Zale8OMckn/BU3O/3aFNLHLfET2H2hT6Wb3nwxjpLIfXmSVcVd8A58XH0g==
-----END CERTIFICATE-----

View File

@ -3,10 +3,58 @@ map $http_upgrade $connection_upgrade {
'' close;
}
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name localhost;
#请填写证书文件的相对路径或绝对路径
ssl_certificate bunny-web.site_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key bunny-web.site.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /etc/nginx/html;
index index.html index.htm;
try_files $uri /index.html;
}
# 后端跨域请求
location ~/admin/ {
proxy_pass http://172.17.0.1:8000;
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;
}
# 后端跨域请求
location ~/api/v1/ {
proxy_pass http://129.211.31.58:3000;
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;
}
error_page 404 404.html;
location = /50x.html {
root html;
}
}
server {
listen 80 ;
listen [::]:80;
server_name localhost;
return 301 https://$host$request_uri;
location / {
root /etc/nginx/html;

View File

@ -4,6 +4,12 @@
<meta charset="UTF-8" />
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible" />
<meta content="webkit" name="renderer" />
<!--
如果遇到http和https混用问题可以使将全部的htp都转成https 但是如果都不支持
如果对方服务器可以支持https可以试下这个方案
如果不支持需要修改代码,将请求修改成/api/xxx的形式之后使用NGINX做反向代理
-->
<!--<meta content="upgrade-insecure-requests" http-equiv="Content-Security-Policy" />-->
<meta content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport" />
<title>bunny-admin</title>
<link href="/favicon.ico" rel="icon" />

View File

@ -8,7 +8,7 @@ const content = ref();
/** 获取文档信息 */
const onSearch = async () => {
const response = await fetch('http://129.211.31.58:3000/api/v1/repos/auth/auth-server-java/contents/ReadMe.md');
const response = await fetch('/api/v1/repos/auth/auth-server-java/contents/ReadMe.md');
const json = await response.json();
content.value = decode(json.content);
};

View File

@ -8,7 +8,7 @@ const content = ref();
/** 获取文档信息 */
const onSearch = async () => {
const response = await fetch('http://129.211.31.58:3000/api/v1/repos/auth/auth-web/contents/ReadMe.md');
const response = await fetch('/api/v1/repos/auth/auth-web/contents/ReadMe.md');
const json = await response.json();
content.value = decode(json.content);
};

View File

@ -8,7 +8,7 @@ export const serverCommitList = ref([]);
/** 获取web代码提交记录 */
export const getWebCommitList = async () => {
const response = await fetch('http://129.211.31.58:3000/api/v1/repos/auth/auth-web/commits?page=1&limit=20');
const response = await fetch('/api/v1/repos/auth/auth-web/commits?page=1&limit=20');
const json = await response.json();
webCommitList.value = json.map(item => ({
date: dayjs(item?.commit?.committer?.date).format('YYYY-MM-DD HH:mm:ss'),
@ -21,7 +21,7 @@ export const getWebCommitList = async () => {
};
/** 获取后端代码提交记录 */
export const getServerCommitList = async () => {
const response = await fetch('http://129.211.31.58:3000/api/v1/repos/auth/auth-server-java/commits?page=1&limit=20');
const response = await fetch('/api/v1/repos/auth/auth-server-java/commits?page=1&limit=20');
const json = await response.json();
serverCommitList.value = json.map(item => ({
date: dayjs(item?.commit?.committer?.date).format('YYYY-MM-DD HH:mm:ss'),