Compare commits
37 Commits
a6442de09a
...
master
Author | SHA1 | Date | |
---|---|---|---|
ad2858a1ee | |||
f1e0ac2205 | |||
10f26a053e | |||
30b9d29702 | |||
535eef4960 | |||
bb2a6e23fa | |||
e21641405a | |||
b16251af96 | |||
fc009f968e | |||
eeadcd6d71 | |||
c1483fc5ed | |||
590790cb12 | |||
3e3031b96f | |||
facef37213 | |||
b4a4f0f77a | |||
71dfb19647 | |||
2790427083 | |||
4aebe716d8 | |||
4a2e578770 | |||
c7199dec63 | |||
65b400febb | |||
e4eeddcbf4 | |||
b71e46a786 | |||
13a9b12982 | |||
5591fa1aec | |||
18c8cc3427 | |||
d93c625f73 | |||
0eb512cb98 | |||
433111a70d | |||
5050a0c668 | |||
750d47103c | |||
ffcd129e56 | |||
d0b29a77aa | |||
a10e7074a2 | |||
12de378234 | |||
019512a670 | |||
918e8be69f |
21
.gitea/workflows/docker-build-dev.yml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
name: Docker-build-dev
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ dev ]
|
||||||
|
jobs:
|
||||||
|
docker-build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Set up docker
|
||||||
|
run: |
|
||||||
|
apt update
|
||||||
|
apt install -y docker.io
|
||||||
|
- name: Build/Push
|
||||||
|
run: |
|
||||||
|
echo "nameserver 10.10.0.1" > /etc/resolv.conf
|
||||||
|
echo ${{ secrets.GIT_TOKEN }} | docker login -u ${{ github.actor }} --password-stdin git.d3vyce.fr
|
||||||
|
docker build -t d3vyce.fr .
|
||||||
|
docker tag d3vyce.fr git.d3vyce.fr/d3vyce/d3vyce.fr:dev
|
||||||
|
docker push git.d3vyce.fr/d3vyce/d3vyce.fr:dev
|
20
.gitea/workflows/docker-build.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
name: Docker-build
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
jobs:
|
||||||
|
docker-build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Set up docker
|
||||||
|
run: |
|
||||||
|
apt update
|
||||||
|
apt install -y docker.io
|
||||||
|
- name: Build/Push
|
||||||
|
run: |
|
||||||
|
echo ${{ secrets.GIT_TOKEN }} | docker login -u ${{ github.actor }} --password-stdin git.d3vyce.fr
|
||||||
|
docker build -t d3vyce.fr .
|
||||||
|
docker tag d3vyce.fr git.d3vyce.fr/d3vyce/d3vyce.fr:latest
|
||||||
|
docker push git.d3vyce.fr/d3vyce/d3vyce.fr:latest
|
3
Dockerfile
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM nginx
|
||||||
|
COPY html/ /usr/share/nginx/html
|
||||||
|
COPY nginx.conf /etc/nginx/nginx.conf
|
Before Width: | Height: | Size: 11 KiB |
@ -20,6 +20,8 @@
|
|||||||
<!-- Roboto Font -->
|
<!-- Roboto Font -->
|
||||||
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
||||||
<script src="js/script.js"></script>
|
<script src="js/script.js"></script>
|
||||||
|
<!-- Umami Analytics -->
|
||||||
|
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header class="masthead" id="home">
|
<header class="masthead" id="home">
|
||||||
@ -27,7 +29,7 @@
|
|||||||
<div class="row head-row align-items-center h-100 justify-content-evenly text-center">
|
<div class="row head-row align-items-center h-100 justify-content-evenly text-center">
|
||||||
<div class="col-lg-12 col-xl-5">
|
<div class="col-lg-12 col-xl-5">
|
||||||
|
|
||||||
<h1 class="text-white font-weight-bold"><img src="/assets/img/error.avif" width="12%"> 404 Not Found</h1>
|
<h1 class="text-white font-weight-bold"><img src="/assets/img/error.png" width="12%"> 404 Not Found</h1>
|
||||||
<p class="text-white">The requested URL was not found on this server !</p>
|
<p class="text-white">The requested URL was not found on this server !</p>
|
||||||
<hr class="divider" />
|
<hr class="divider" />
|
||||||
<div class="d-grid gap-4 col-10 mx-auto">
|
<div class="d-grid gap-4 col-10 mx-auto">
|
@ -19,6 +19,8 @@
|
|||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
|
||||||
<!-- Roboto Font -->
|
<!-- Roboto Font -->
|
||||||
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
||||||
|
<!-- Umami Analytics -->
|
||||||
|
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
|
||||||
<script src="js/script.js"></script>
|
<script src="js/script.js"></script>
|
||||||
<script src="js/admin.js"></script>
|
<script src="js/admin.js"></script>
|
||||||
</head>
|
</head>
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 219 KiB |
Before Width: | Height: | Size: 352 KiB After Width: | Height: | Size: 352 KiB |
BIN
html/assets/img/error.png
Normal file
After Width: | Height: | Size: 200 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
@ -25,6 +25,8 @@
|
|||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
|
||||||
<!-- Roboto Font -->
|
<!-- Roboto Font -->
|
||||||
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
||||||
|
<!-- Umami Analytics -->
|
||||||
|
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Home -->
|
<!-- Home -->
|
||||||
@ -167,6 +169,9 @@
|
|||||||
<span class="badge bg-dark-3">JS</span>
|
<span class="badge bg-dark-3">JS</span>
|
||||||
<span class="badge bg-dark-3">MySQL</span>
|
<span class="badge bg-dark-3">MySQL</span>
|
||||||
<span class="badge bg-dark-3">Ansible</span>
|
<span class="badge bg-dark-3">Ansible</span>
|
||||||
|
<span class="badge bg-dark-3">Git</span>
|
||||||
|
<span class="badge bg-dark-3">Elastic</span>
|
||||||
|
<span class="badge bg-dark-3">CI/CD</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
|
<div class="mt-5 col-lg-3 col-md-12 text-center reveal fade">
|
||||||
@ -188,12 +193,16 @@
|
|||||||
<h3 class="text-white h4 mb-3">Networking</h3>
|
<h3 class="text-white h4 mb-3">Networking</h3>
|
||||||
<p class="mt-4">
|
<p class="mt-4">
|
||||||
<span class="badge bg-dark-3">Wireguard</span>
|
<span class="badge bg-dark-3">Wireguard</span>
|
||||||
|
<span class="badge bg-dark-3">IPSec</span>
|
||||||
<span class="badge bg-dark-3">MPLS</span>
|
<span class="badge bg-dark-3">MPLS</span>
|
||||||
<span class="badge bg-dark-3">BGP</span>
|
<span class="badge bg-dark-3">BGP</span>
|
||||||
<span class="badge bg-dark-3">Firewall</span>
|
<span class="badge bg-dark-3">Firewall</span>
|
||||||
<span class="badge bg-dark-3">OPNsense</span>
|
<span class="badge bg-dark-3">OPNsense</span>
|
||||||
<span class="badge bg-dark-3">WDM</span>
|
<span class="badge bg-dark-3">WDM</span>
|
||||||
<span class="badge bg-dark-3">Docker</span>
|
<span class="badge bg-dark-3">Docker</span>
|
||||||
|
<span class="badge bg-dark-3">Kubernetes</span>
|
||||||
|
<span class="badge bg-dark-3">KVM</span>
|
||||||
|
<span class="badge bg-dark-3">IPtable</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -326,7 +335,7 @@
|
|||||||
<a href="https://github.com/d3vyce" target="_blank" rel="noopener noreferrer"><i class="fa test fa-github fa-lg"></i></a>
|
<a href="https://github.com/d3vyce" target="_blank" rel="noopener noreferrer"><i class="fa test fa-github fa-lg"></i></a>
|
||||||
<a href="https://www.d3vyce.fr" target="_blank" rel="noopener noreferrer"><i class="fa test fa-bookmark fa-lg"></i></a>
|
<a href="https://www.d3vyce.fr" target="_blank" rel="noopener noreferrer"><i class="fa test fa-bookmark fa-lg"></i></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="small text-center text-muted">d3vyce 2022 © All rights reserved</div>
|
<div class="small text-center text-muted">d3vyce 2024 © All rights reserved</div>
|
||||||
<div class="small text-center text-muted"><a href="#home">Home</a> • <a href="#about">About</a> • <a href="#skills">Skills</a> • <a href="#projects">Projects</a></div>
|
<div class="small text-center text-muted"><a href="#home">Home</a> • <a href="#about">About</a> • <a href="#skills">Skills</a> • <a href="#projects">Projects</a></div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
@ -572,4 +581,4 @@
|
|||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -13,6 +13,8 @@
|
|||||||
<link rel="stylesheet" href="css/social.css">
|
<link rel="stylesheet" href="css/social.css">
|
||||||
<link rel="stylesheet" href="css/reset.css">
|
<link rel="stylesheet" href="css/reset.css">
|
||||||
<link href="https://fonts.googleapis.com/css?family=Roboto" rel='stylesheet' type='text/css'>
|
<link href="https://fonts.googleapis.com/css?family=Roboto" rel='stylesheet' type='text/css'>
|
||||||
|
<!-- Umami Analytics -->
|
||||||
|
<script async src="https://analytics.d3vyce.fr/script.js" data-website-id="4c83df85-5566-4647-ba67-b3724890baca"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header class="masthead" id="home">
|
<header class="masthead" id="home">
|
||||||
@ -37,7 +39,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="profile-card__social">
|
<div class="profile-card__social">
|
||||||
<a href="https://www.d3vyce.fr" class="site" target="_blank" rel="noopener noreferrer">
|
<a href="https://www.d3vyce.fr" class="site" target="_blank" rel="noopener noreferrer" data-umami-event="to_Site">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-world" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-world" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||||
<circle cx="12" cy="12" r="9"></circle>
|
<circle cx="12" cy="12" r="9"></circle>
|
||||||
@ -47,7 +49,7 @@
|
|||||||
<path d="M12.5 3a17 17 0 0 1 0 18"></path>
|
<path d="M12.5 3a17 17 0 0 1 0 18"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://blog.d3vyce.fr" class="blog" target="_blank" rel="noopener noreferrer">
|
<a href="https://blog.d3vyce.fr" class="blog" target="_blank" rel="noopener noreferrer" data-umami-event="to_Blog">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-article" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-article" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||||
<rect x="3" y="4" width="18" height="16" rx="2"></rect>
|
<rect x="3" y="4" width="18" height="16" rx="2"></rect>
|
||||||
@ -56,19 +58,19 @@
|
|||||||
<path d="M7 16h10"></path>
|
<path d="M7 16h10"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://github.com/d3vyce" class="github" target="_blank" rel="noopener noreferrer">
|
<a href="https://github.com/d3vyce" class="github" target="_blank" rel="noopener noreferrer" data-umami-event="to_Github">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-github" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||||
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"></path>
|
<path d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://twitter.com/d3vyce" class="twitter" target="_blank" rel="noopener noreferrer">
|
<a href="https://twitter.com/d3vyce" class="twitter" target="_blank" rel="noopener noreferrer" data-umami-event="to_Twitter">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-twitter" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-twitter" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||||
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"></path>
|
<path d="M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c-.002 -.249 1.51 -2.772 1.818 -4.013z"></path>
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
<a href="https://status.d3vyce.fr" class="status" target="_blank" rel="noopener noreferrer">
|
<a href="https://status.d3vyce.fr" class="status" target="_blank" rel="noopener noreferrer" data-umami-event="to_Status">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-network" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-network" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
||||||
<circle cx="12" cy="9" r="6"></circle>
|
<circle cx="12" cy="9" r="6"></circle>
|
49
nginx.conf
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
user nginx;
|
||||||
|
worker_processes auto;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/error.log notice;
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
|
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
|
'$status $body_bytes_sent "$http_referer" '
|
||||||
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||||
|
|
||||||
|
access_log /var/log/nginx/access.log main;
|
||||||
|
|
||||||
|
sendfile on;
|
||||||
|
#tcp_nopush on;
|
||||||
|
|
||||||
|
keepalive_timeout 65;
|
||||||
|
|
||||||
|
#gzip on;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html index.htm index.php;
|
||||||
|
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
client_max_body_size 0;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
if ($request_uri ~ ^/(.*)\.html) {
|
||||||
|
return 302 /$1;
|
||||||
|
}
|
||||||
|
try_files $uri $uri.html $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
error_page 404 /404-error.html;
|
||||||
|
}
|
||||||
|
}
|