|
| 1 | +import { Docs } from '@/stories/components/Docs' |
| 2 | + |
| 3 | +const { Container, Content, Header } = Docs |
| 4 | + |
| 5 | +const ServerPage = () => ( |
| 6 | + <Container> |
| 7 | + <Header.Container className="overflow-visible"> |
| 8 | + <div className="flex flex-col items-baseline gap-4"> |
| 9 | + <Header.Title>Server</Header.Title> |
| 10 | + <Header.SubTitle>Provided by nginx</Header.SubTitle> |
| 11 | + </div> |
| 12 | + </Header.Container> |
| 13 | + |
| 14 | + <div className="flex flex-col gap-8 px-6"> |
| 15 | + <div className="flex flex-col py-6"> |
| 16 | + <Content.Topic>Overview</Content.Topic> |
| 17 | + <Content.Paragraph> |
| 18 | + Using Nginx as a server, you can understand more about the web |
| 19 | + structure. How the requests are made and how the responses are sent to |
| 20 | + serve this simple static page. |
| 21 | + </Content.Paragraph> |
| 22 | + </div> |
| 23 | + <div className="flex flex-col !pb-14"> |
| 24 | + <Content.Topic>HTTP</Content.Topic> |
| 25 | + <Content.SubTopic className="!mt-6"> |
| 26 | + CSP (Content-Security-Policy) |
| 27 | + </Content.SubTopic> |
| 28 | + |
| 29 | + <Content.Paragraph> |
| 30 | + <Content.Paragraph> |
| 31 | + <span className="font-bold">X-Frame-Options:</span> same origin |
| 32 | + </Content.Paragraph> |
| 33 | + <Content.Paragraph> |
| 34 | + <span className="font-bold">X-XSS-Protection:</span> 1, mode: block. |
| 35 | + </Content.Paragraph> |
| 36 | + <Content.Paragraph> |
| 37 | + <span className="font-bold">Content-Security-Policy:</span>{' '} |
| 38 | + worker-src blob:| script-src: 'self', 'unsafe-inline', |
| 39 | + 'unsafe-eval', *.googletagmanager.com, *.datadoghq-browser-agent.com |
| 40 | + | frame-src: 'self', *.youtube.com, object-src, 'none'| base-uri: |
| 41 | + 'self'| form-action: 'none' | frame-ancestors: 'self'| img-src: |
| 42 | + 'self', data:| font-src: 'self' | manifest-src 'self' |
| 43 | + </Content.Paragraph> |
| 44 | + <Content.Paragraph> |
| 45 | + <span className="font-bold">Strict-Transport-Security:</span> max |
| 46 | + age:31536000 | includeSubDomains | preload |
| 47 | + </Content.Paragraph> |
| 48 | + <Content.Paragraph> |
| 49 | + <span className="font-bold">Referrer-Policy:</span> strict origin |
| 50 | + </Content.Paragraph> |
| 51 | + <Content.Paragraph> |
| 52 | + <span className="font-bold">Permissions-Policy:</span> geolocation: |
| 53 | + (self), midi:(), sync xhr:(), microphone:(), camera:(), |
| 54 | + magnetometer:(), gyroscope:(), fullscreen:(), payment:() |
| 55 | + </Content.Paragraph> |
| 56 | + <Content.Paragraph> |
| 57 | + <span className="font-bold">X-Content-Type-Options:</span> nosniff |
| 58 | + </Content.Paragraph> |
| 59 | + </Content.Paragraph> |
| 60 | + <Content.SubTopic className="!mt-16 !pb-14"> |
| 61 | + Server Domains |
| 62 | + </Content.SubTopic> |
| 63 | + |
| 64 | + <Content.Paragraph> |
| 65 | + https://storybook.rafer.dev && https://rafer.dev |
| 66 | + </Content.Paragraph> |
| 67 | + <Content.SubTopic className="!mt-16 !pb-14">Redirect</Content.SubTopic> |
| 68 | + |
| 69 | + <Content.Paragraph> |
| 70 | + https://raferdev.com to: rafer.dev, status: 401 |
| 71 | + </Content.Paragraph> |
| 72 | + </div> |
| 73 | + </div> |
| 74 | + </Container> |
| 75 | +) |
| 76 | + |
| 77 | +export { ServerPage } |
0 commit comments