本文最后更新于 2024-06-14,文章原本内容可能已经过时,请查看是否有更新内容。

前言

搭建请看系列一

本文使用docker caddy反代grafana,nginx请自行查询相关文档使用

caddy配置文件

⚠️请先在cloudflare把域名解析到ip,我以lalalayes.xyz示例

创建文件夹

mkdir -p /root/caddyweb/{caddy,html}

创建caddy配置文件

⚠️请注意有地方要改

cat > /root/caddyweb/caddy/Caddyfile << EOF
http:// {
    root * /usr/share/caddy
    encode gzip
    file_server
}

grafana.lalalayes.xyz {
    reverse_proxy vps的ip:3000
    encode gzip
}
EOF

需要改的部分为

grafana.lalalayes.xyz {
    reverse_proxy vps的ip:3000
    encode gzip
}

grafana.lalalayes.xyz改为自己解析好的域名,vps的ip:3000顾名思义改为自己的🐔的ip:3000

创建静态文件

cat > /root/caddyweb/html/index.html << EOF
<!DOCTYPE html>
<html>
<head>
        <title>Caddy works!</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" href="data:,">
        <style>
                * {
                        box-sizing: border-box;
                        padding: 0;
                        margin: 0;
                }

                body {
                        background: #f1f4f5;
                        font-family: Inter, sans-serif;
                        font-size: 20px;
                        -webkit-font-smoothing: antialiased;
                }

                a {
                        color: #2f79ff;
                        text-decoration: none;
                }

                a:hover {
                        text-decoration: underline;
                }

                .stack {
                        width: 70%;
                        max-width: 1150px;
                        margin: 25px 0 150px 25px;
                        display: flex;
                        align-content: flex-start;
                }

                .paper {
                        position: relative;
                        flex-shrink: 0;
                        width: 100%;

                        background: white;
                        border-radius: 3px;
                        box-shadow: 1px 2px 4px 1px rgba(0, 0, 0, .15);
                        padding: 100px;
                }

                #paper1 {
                        top: 45px;
                        left: 50px;
                }

                #paper2 {
                        top: 20px;
                        left: -100%;
                }

                #paper3 {
                        top: 25px;
                        transform: rotate(-4deg);
                        left: -200%;
                }

                #caddy {
                        max-width: 300px;
                        margin-bottom: 50px;
                }

                #caddy .caddy-color {
                        fill: #005e7e;
                }

                h1 {
                        font-size: 20px;
                        margin-bottom: 50px;
                }

                h1 .emoji {
                        font-size: 150%;
                        vertical-align: middle;
                }

                h1 .lang {
                        margin-right: 1.25em;
                }

                h2 {
                        font-size: 28px;
                        margin-top: 1.5em;
                }

                p,
                ol,
                ul {
                        color: #333;
                        line-height: 1.5em;
                }

                p {
                        margin: 1.5em 0;
                }

                ol,
                ul {
                        margin: .5em 0 .5em 2em;
                }

                ol li,
                ul li {
                        margin-left: 1em;
                        margin-bottom: .5em;
                }

                li ol {
                        list-style-type: lower-alpha;
                }

                code {
                        color: #000;
                        font-family: Menlo, monospace;
                        background: #f0f0f0;
                        border-radius: 2px;
                        padding: 4px 8px;
                        font-size: 90%;
                }

                .warn {
                        color: #dd0000;
                }

                footer {
                        color: #777;
                        font-size: 16px;
                        text-align: center;
                        max-width: 600px;
                        margin: 0 auto 50px;
                }

                #disclaimer {
                        font-size: 14px;
                        margin-top: 20px;
                        display: inline-block;
                        border-top: 1px solid #ccc;
                        padding: 20px;
                }

                @media (max-width: 1100px) {
                        .stack {
                                width: 85%;
                        }
                }

                @media (max-width: 800px) {
                        .stack {
                                margin: 0 0 50px 0;
                                width: 100%;
                        }

                        .paper {
                                padding: 50px;
                        }

                        #paper1,
                        #paper2 {
                                display: none;
                        }

                        #paper3 {
                                left: 0;
                                transform: none;
                                top: 0;
                        }

                        #caddy {
                                max-width: 300px;
                                margin-bottom: 45px;
                                display: block;
                        }
                }
        </style>
</head>

<body>
        <div class="stack">
                <div class="paper" id="paper1"></div>
                <div class="paper" id="paper2"></div>
                <div class="paper" id="paper3">
                        <a href="https://caddyserver.com/" title="Caddy Web Server">
                                <svg id="caddy" viewBox="0 0 379 114" version="1.1" xmlns="http://www.w3.org/2000/svg"
                                        xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/"
                                        style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;">
                                        <g transform="matrix(1,0,0,1,-35.5985,-67.948)">
                                                <g transform="matrix(1.16548,0,0,1.10195,-124,-68.27)">
                                                        <g id="Light-Logo" serif:id="Light Logo"
                                                                transform="matrix(0.858013,0,0,0.907485,-3243.42,-1469.17)">
                                                                <g id="Logo" transform="matrix(1,0,0,1,21.4759,36.7359)">
                                                                        <g id="Icon">
                                                                                <g>
                                                                                        <g
                                                                                                transform="matrix(-0.191794,-0.715786,0.715786,-0.191794,4329.14,4673.64)">
                                                                                                <path
                                                                                                        d="M3901.56,610.734C3893.53,610.261 3886.06,608.1 3879.2,604.877C3872.24,601.608 3866.04,597.093 3860.8,591.633C3858.71,589.457 3856.76,587.149 3854.97,584.709C3853.2,582.281 3851.57,579.733 3850.13,577.066C3845.89,569.224 3843.21,560.381 3842.89,550.868C3842.57,543.321 3843.64,536.055 3845.94,529.307C3848.37,522.203 3852.08,515.696 3856.83,510.049L3855.79,509.095C3850.39,514.54 3846.02,520.981 3842.9,528.125C3839.84,535.125 3838.03,542.781 3837.68,550.868C3837.34,561.391 3839.51,571.425 3843.79,580.306C3845.27,583.38 3847.03,586.304 3849.01,589.049C3851.01,591.806 3853.24,594.39 3855.69,596.742C3861.75,602.568 3869,607.19 3877.03,610.1C3884.66,612.867 3892.96,614.059 3901.56,613.552L3901.56,610.734Z"
                                                                                                        style="fill:rgb(31,136,192);" />
                                                                                        </g>
                                                                                        <g
                                                                                                transform="matrix(-0.191794,-0.715786,0.715786,-0.191794,4329.14,4673.64)">
                                                                                                <path
                                                                                                        d="M3875.69,496.573C3879.62,494.538 3883.8,492.897 3888.2,491.786C3892.49,490.704 3896.96,490.124 3901.56,490.032C3903.82,490.13 3906.03,490.332 3908.21,490.688C3917.13,492.147 3925.19,495.814 3932.31,500.683C3936.13,503.294 3939.59,506.335 3942.81,509.619C3947.09,513.98 3950.89,518.816 3953.85,524.232C3958.2,532.197 3960.96,541.186 3961.32,550.868C3961.61,558.748 3960.46,566.345 3957.88,573.322C3956.09,578.169 3953.7,582.753 3950.66,586.838C3947.22,591.461 3942.96,595.427 3938.27,598.769C3933.66,602.055 3928.53,604.619 3923.09,606.478C3922.37,606.721 3921.6,606.805 3920.93,607.167C3920.42,607.448 3920.14,607.854 3919.69,608.224L3920.37,610.389C3920.98,610.432 3921.47,610.573 3922.07,610.474C3922.86,610.344 3923.55,609.883 3924.28,609.566C3931.99,606.216 3938.82,601.355 3944.57,595.428C3947.02,592.903 3949.25,590.174 3951.31,587.319C3953.59,584.168 3955.66,580.853 3957.43,577.348C3961.47,569.34 3964.01,560.422 3964.36,550.868C3964.74,540.511 3962.66,530.628 3958.48,521.868C3955.57,515.775 3951.72,510.163 3946.95,505.478C3943.37,501.962 3939.26,498.99 3934.84,496.562C3926.88,492.192 3917.87,489.76 3908.37,489.229C3906.12,489.104 3903.86,489.054 3901.56,489.154C3896.87,489.06 3892.3,489.519 3887.89,490.397C3883.3,491.309 3878.89,492.683 3874.71,494.525L3875.69,496.573Z"
                                                                                                        style="fill:rgb(31,136,192);" />
                                                                                        </g>
                                                                                </g>
                                                                                <g>
                                                                                        <g transform="matrix(-3.37109,-0.514565,0.514565,-3.37109,4078.07,1806.88)">
                                                                                                <path
                                                                                                        d="M22,12C22,10.903 21.097,10 20,10C19.421,10 18.897,10.251 18.53,10.649C18.202,11.006 18,11.481 18,12C18,13.097 18.903,14 20,14C21.097,14 22,13.097 22,12Z"
                                                                                                        style="fill:none;fill-rule:nonzero;stroke:rgb(31,136,192);stroke-width:1.05px;" />
                                                                                        </g>
                                                                                        <g transform="matrix(-5.33921,-5.26159,-3.12106,-6.96393,4073.87,1861.55)">
                                                                                                <path
                                                                                                        d="M10.315,5.333C10.315,5.333 9.748,5.921 9.03,6.673C7.768,7.995 6.054,9.805 6.054,9.805L6.237,9.86C6.237,9.86 8.045,8.077 9.36,6.771C10.107,6.028 10.689,5.444 10.689,5.444L10.315,5.333Z"
                                                                                                        style="fill:rgb(31,136,192);" />
                                                                                        </g>
                                                                                </g>
                                                                                <g id="Padlock" transform="matrix(3.11426,0,0,3.11426,3938.31,1737.25)">
                                                                                        <g>
                                                                                                <path
                                                                                                        d="M9.876,21L18.162,21C18.625,21 19,20.625 19,20.162L19,11.838C19,11.375 18.625,11 18.162,11L5.838,11C5.375,11 5,11.375 5,11.838L5,16.758"
                                                                                                        style="fill:none;stroke:rgb(34,182,56);stroke-width:1.89px;stroke-linecap:butt;stroke-linejoin:miter;" />
                                                                                                <path d="M8,11L8,7C8,4.806 9.806,3 12,3C14.194,3 16,4.806 16,7L16,11"
                                                                                                        style="fill:none;fill-rule:nonzero;stroke:rgb(34,182,56);stroke-width:1.89px;" />
                                                                                        </g>
                                                                                </g>
                                                                                <g>
                                                                                        <g transform="matrix(5.30977,0.697415,-0.697415,5.30977,3852.72,1727.97)">
                                                                                                <path
                                                                                                        d="M22,12C22,11.659 21.913,11.337 21.76,11.055C21.421,10.429 20.756,10 20,10C18.903,10 18,10.903 18,12C18,13.097 18.903,14 20,14C21.097,14 22,13.097 22,12Z"
                                                                                                        style="fill:none;fill-rule:nonzero;stroke:rgb(31,136,192);stroke-width:0.98px;" />
                                                                                        </g>
                                                                                        <g transform="matrix(4.93114,2.49604,1.11018,5.44847,3921.41,1726.72)">
                                                                                                <path
                                                                                                        d="M8.902,6.77C8.902,6.77 7.235,8.253 6.027,9.366C5.343,9.996 4.819,10.502 4.819,10.502L5.52,11.164C5.52,11.164 6.021,10.637 6.646,9.951C7.749,8.739 9.219,7.068 9.219,7.068L8.902,6.77Z"
                                                                                                        style="fill:rgb(31,136,192);" />
                                                                                        </g>
                                                                                </g>
                                                                        </g>
                                                                        <g id="Wordmark" transform="matrix(1.54159,0,0,2.8744,2710.6,709.804)">
                                                                                <g id="y" transform="matrix(0.50291,0,0,0.281607,905.533,304.987)">
                                                                                        <path
                                                                                                d="M192.152,286.875L202.629,268.64C187.804,270.106 183.397,265.779 180.143,263.391C176.888,261.004 174.362,257.99 172.563,254.347C170.765,250.705 169.866,246.691 169.866,242.305L169.866,208.107L183.21,208.107L183.21,242.213C183.21,245.188 183.896,247.822 185.268,250.116C186.64,252.41 188.465,254.197 190.743,255.475C193.022,256.754 195.501,257.393 198.182,257.393C200.894,257.393 203.393,256.75 205.68,255.463C207.966,254.177 209.799,252.391 211.178,250.105C212.558,247.818 213.248,245.188 213.248,242.213L213.248,208.107L226.545,208.107L226.545,242.305C226.545,246.707 225.378,258.46 218.079,268.64C215.735,271.909 207.835,286.875 207.835,286.875L192.152,286.875Z"
                                                                                                style="fill:rgb(47,47,47);fill-rule:nonzero;" />
                                                                                </g>
                                                                                <g id="add" transform="matrix(0.525075,0,0,0.281607,801.871,304.987)">
                                                                                        <g transform="matrix(116.242,0,0,116.242,161.846,267.39)">
                                                                                                <path
                                                                                                        d="M0.276,0.012C0.227,0.012 0.186,0 0.15,-0.024C0.115,-0.048 0.088,-0.08 0.069,-0.12C0.05,-0.161 0.04,-0.205 0.04,-0.254C0.04,-0.305 0.051,-0.35 0.072,-0.39C0.094,-0.431 0.125,-0.463 0.165,-0.487C0.205,-0.51 0.254,-0.522 0.31,-0.522C0.366,-0.522 0.413,-0.51 0.452,-0.486C0.491,-0.463 0.521,-0.431 0.542,-0.39C0.562,-0.35 0.573,-0.305 0.573,-0.256L0.573,-0L0.458,-0L0.458,-0.095L0.456,-0.095C0.446,-0.076 0.433,-0.058 0.417,-0.042C0.401,-0.026 0.381,-0.013 0.358,-0.003C0.335,0.007 0.307,0.012 0.276,0.012ZM0.307,-0.086C0.337,-0.086 0.363,-0.093 0.386,-0.108C0.408,-0.123 0.426,-0.144 0.438,-0.17C0.45,-0.195 0.456,-0.224 0.456,-0.256C0.456,-0.288 0.45,-0.317 0.438,-0.342C0.426,-0.367 0.409,-0.387 0.387,-0.402C0.365,-0.417 0.338,-0.424 0.308,-0.424C0.276,-0.424 0.249,-0.417 0.226,-0.402C0.204,-0.387 0.186,-0.366 0.174,-0.341C0.162,-0.315 0.156,-0.287 0.156,-0.255C0.156,-0.224 0.162,-0.195 0.174,-0.169C0.186,-0.144 0.203,-0.123 0.226,-0.108C0.248,-0.093 0.275,-0.086 0.307,-0.086Z"
                                                                                                        style="fill:rgb(47,47,47);fill-rule:nonzero;" />
                                                                                        </g>
                                                                                        <g transform="matrix(116.242,0,0,116.242,226.592,267.39)">
                                                                                                <path
                                                                                                        d="M0.306,0.012C0.265,0.012 0.229,0.006 0.196,-0.008C0.163,-0.021 0.135,-0.039 0.112,-0.064C0.089,-0.088 0.071,-0.117 0.059,-0.151C0.046,-0.185 0.04,-0.222 0.04,-0.263C0.04,-0.315 0.051,-0.36 0.072,-0.399C0.093,-0.437 0.122,-0.468 0.159,-0.489C0.196,-0.511 0.239,-0.522 0.287,-0.522C0.311,-0.522 0.333,-0.518 0.355,-0.511C0.377,-0.504 0.396,-0.493 0.413,-0.48C0.431,-0.466 0.445,-0.451 0.455,-0.433L0.456,-0.433L0.456,-0.73L0.571,-0.73L0.571,-0.261C0.571,-0.205 0.56,-0.156 0.537,-0.115C0.515,-0.074 0.484,-0.043 0.444,-0.021C0.405,0.001 0.358,0.012 0.306,0.012ZM0.306,-0.086C0.335,-0.086 0.361,-0.093 0.384,-0.107C0.406,-0.122 0.423,-0.141 0.436,-0.167C0.448,-0.192 0.455,-0.221 0.455,-0.255C0.455,-0.288 0.448,-0.317 0.436,-0.343C0.423,-0.368 0.406,-0.388 0.383,-0.402C0.361,-0.417 0.335,-0.424 0.305,-0.424C0.276,-0.424 0.251,-0.417 0.228,-0.402C0.206,-0.387 0.188,-0.368 0.175,-0.342C0.163,-0.317 0.156,-0.288 0.156,-0.255C0.156,-0.222 0.163,-0.193 0.175,-0.167C0.188,-0.142 0.206,-0.122 0.229,-0.108C0.251,-0.093 0.277,-0.086 0.306,-0.086Z"
                                                                                                        style="fill:rgb(47,47,47);fill-rule:nonzero;" />
                                                                                        </g>
                                                                                        <g transform="matrix(116.242,0,0,116.242,290.293,267.39)">
                                                                                                <path
                                                                                                        d="M0.306,0.012C0.265,0.012 0.229,0.006 0.196,-0.008C0.163,-0.021 0.135,-0.039 0.112,-0.064C0.089,-0.088 0.071,-0.117 0.059,-0.151C0.046,-0.185 0.04,-0.222 0.04,-0.263C0.04,-0.315 0.051,-0.36 0.072,-0.399C0.093,-0.437 0.122,-0.468 0.159,-0.489C0.196,-0.511 0.239,-0.522 0.287,-0.522C0.311,-0.522 0.333,-0.518 0.355,-0.511C0.377,-0.504 0.396,-0.493 0.413,-0.48C0.431,-0.466 0.445,-0.451 0.455,-0.433L0.456,-0.433L0.456,-0.73L0.571,-0.73L0.571,-0.261C0.571,-0.205 0.56,-0.156 0.537,-0.115C0.515,-0.074 0.484,-0.043 0.444,-0.021C0.405,0.001 0.358,0.012 0.306,0.012ZM0.306,-0.086C0.335,-0.086 0.361,-0.093 0.384,-0.107C0.406,-0.122 0.423,-0.141 0.436,-0.167C0.448,-0.192 0.455,-0.221 0.455,-0.255C0.455,-0.288 0.448,-0.317 0.436,-0.343C0.423,-0.368 0.406,-0.388 0.383,-0.402C0.361,-0.417 0.335,-0.424 0.305,-0.424C0.276,-0.424 0.251,-0.417 0.228,-0.402C0.206,-0.387 0.188,-0.368 0.175,-0.342C0.163,-0.317 0.156,-0.288 0.156,-0.255C0.156,-0.222 0.163,-0.193 0.175,-0.167C0.188,-0.142 0.206,-0.122 0.229,-0.108C0.251,-0.093 0.277,-0.086 0.306,-0.086Z"
                                                                                                        style="fill:rgb(47,47,47);fill-rule:nonzero;" />
                                                                                        </g>
                                                                                </g>
                                                                                <g id="c"
                                                                                        transform="matrix(-0.0716462,0.31304,-0.583685,-0.0384251,1489.76,-444.051)">
                                                                                        <path
                                                                                                d="M2668.11,700.4C2666.79,703.699 2666.12,707.216 2666.12,710.766C2666.12,726.268 2678.71,738.854 2694.21,738.854C2709.71,738.854 2722.3,726.268 2722.3,710.766C2722.3,704.111 2719.93,697.672 2715.63,692.597L2707.63,699.378C2710.33,702.559 2711.57,706.602 2711.81,710.766C2712.2,717.38 2706.61,724.52 2697.27,726.637C2683.9,728.581 2676.61,720.482 2676.61,710.766C2676.61,708.541 2677.03,706.336 2677.85,704.269L2668.11,700.4Z"
                                                                                                style="fill:rgb(46,46,46);" />
                                                                                </g>
                                                                        </g>
                                                                </g>
                                                                <g id="R" transform="matrix(0.497016,0,0,0.497016,2390.38,823.152)">
                                                                        <g transform="matrix(1,0,0,1,-0.10786,0.450801)">
                                                                                <g transform="matrix(12.1247,0,0,12.1247,3862.61,1929.9)">
                                                                                        <path
                                                                                                d="M0.073,-0L0.073,-0.7L0.383,-0.7C0.428,-0.7 0.469,-0.69 0.506,-0.67C0.543,-0.651 0.572,-0.623 0.594,-0.588C0.616,-0.553 0.627,-0.512 0.627,-0.465C0.627,-0.418 0.615,-0.377 0.592,-0.342C0.569,-0.306 0.539,-0.279 0.501,-0.259L0.57,-0.128C0.574,-0.12 0.579,-0.115 0.584,-0.111C0.59,-0.107 0.596,-0.106 0.605,-0.106L0.664,-0.106L0.664,-0L0.587,-0C0.56,-0 0.535,-0.007 0.514,-0.02C0.493,-0.034 0.476,-0.052 0.463,-0.075L0.381,-0.232C0.375,-0.231 0.368,-0.231 0.361,-0.231C0.354,-0.231 0.347,-0.231 0.34,-0.231L0.192,-0.231L0.192,-0L0.073,-0ZM0.192,-0.336L0.368,-0.336C0.394,-0.336 0.417,-0.341 0.438,-0.351C0.459,-0.361 0.476,-0.376 0.489,-0.396C0.501,-0.415 0.507,-0.438 0.507,-0.465C0.507,-0.492 0.501,-0.516 0.488,-0.535C0.475,-0.554 0.459,-0.569 0.438,-0.579C0.417,-0.59 0.394,-0.595 0.369,-0.595L0.192,-0.595L0.192,-0.336Z"
                                                                                                style="fill:rgb(46,46,46);fill-rule:nonzero;" />
                                                                                </g>
                                                                        </g>
                                                                        <g transform="matrix(1,0,0,1,0.278569,0.101881)">
                                                                                <circle cx="3866.43" cy="1926.14" r="8.923"
                                                                                        style="fill:none;stroke:rgb(46,46,46);stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;" />
                                                                        </g>
                                                                </g>
                                                        </g>
                                                </g>
                                        </g>
                                </svg>
                        </a>

                        <h1>
                                <!-- English --> <span class="lang">Congratulations!</span>
                                <!-- Japanese --> <span class="lang">おめでとう!</span>
                                <!-- Spanish --> <span class="lang">Felicidades!</span>
                                <!-- Chinese --> <span class="lang">恭喜!</span>
                                <!-- Hindi --> <span class="lang">बधाई हो!</span>
                                <!-- Russian --> <span class="lang">Поздравляю!</span>
                                <!-- Ukrainian --> <span class="lang">Вітаю!</span>
                                <span class="emoji">🎊</span>
                        </h1>

                        <p>
                                Your web server is working. Now make it work for you. 💪
                        </p>
                        <p>
                                Caddy is ready to serve your site over HTTPS:
                        </p>
                        <ol>
                                <li>Point your domain's A/AAAA DNS records at this machine.</li>
                                <li>Upload your site's files to <code>/var/www/html</code>.
                                <li>
                                        Edit your Caddyfile at <code>/etc/caddy/Caddyfile</code>:
                                        <ol>
                                                <li>Replace <code>:80</code> with your domain name</li>
                                                <li>Change the site root to <code>/var/www/html</code></li>
                                        </ol>
                                </li>
                                <li>Reload the configuration: <code>systemctl reload caddy</code></li>
                                <li>Visit your site!</li>
                        </ol>
                        <h2>If that worked 🥳</h2>
                        <p>
                                Awesome! You won't have to look at this slanted page anymore.
                        </p>
                        <p>
                                Remember, Caddy can do a lot more than serve static files. It's also a powerful reverse proxy and
                                application platform. You can use the Caddyfile to enable any other features you need. Or you could use
                                Caddy's API to configure it programmatically.
                        </p>
                        <p>
                                Everything you need to know is either in the <a href="https://caddyserver.com/docs/">📖 Caddy
                                        documentation</a> or the manual for your OS/platform. Have fun!
                        </p>

                        <h2>If that didn't work 😶</h2>
                        <p>
                                It's okay, you can fix it! First check the following things:
                        </p>
                        <ul>
                                <li>Service status: <code>systemctl status caddy</code></li>
                                <li>Logs: <code>journalctl --no-pager -u caddy</code></li>
                                <li>Are your site's files readable by the caddy user and group? <code>ls -la /var/www/html</code></li>
                                <li>Is the caddy home directory writeable? <code>ls -la /var/lib/caddy</code></li>
                                <li>Ensure your domain's A and/or AAAA records point to your machine's public IP address:
                                        <code>dig example.com</code></li>
                                <li>Are your ports 80 and 443 externally reachable, and is Caddy able to bind to them? Check your
                                        firewalls, port forwarding, and other network configuration.</li>
                        </ul>
                        <p>
                                <b class="warn">WAIT!</b> Before trying again, switch to <a
                                        href="https://letsencrypt.org/docs/staging-environment/">Let's Encrypt's staging environment</a> to
                                avoid being accidentally <a href="https://letsencrypt.org/docs/rate-limits/">rate limited</a>. Once you
                                get everything else working, it's safe to switch back.
                        </p>
                        <p>
                                Depending on your DNS provider, it may take a while for the DNS records to propagate. Even when
                                everything is configured properly, automated challenges to obtain TLS certificates usually take several
                                seconds, but may take up to several minutes or hours.
                        <p>
                                If you still need help, we have a <a href="https://caddy.community/">great community</a>! First <a
                                        href="https://caddy.community/search">try a search</a>, and if your question is original, go ahead
                                and ask it! Remember to pay it forward and help others too. 😁
                        </p>
                        <p>
                                Visit Caddy on:
                                <b><a href="https://github.com/caddyserver/caddy" title="Caddy on GitHub">GitHub</a></b>
                                or
                                <b><a href="https://twitter.com/caddyserver" title="@caddyserver on Twitter">Twitter</a></b>
                                or
                                <b><a href="https://caddy.community/" title="Caddy forums">Our Forum</a></b>
                        </p>
                </div>
        </div>

        <footer>
                &copy; Copyright The Caddy Authors

                <div id="disclaimer">
                        The Caddy project is not responsible for the content, disposition, or behavior of this Web
                        property, which is independently owned and maintained. For inquiries, please contact the site owner or
                        hosting provider.
                </div>
        </footer>
    </body>

EOF

运行caddy

⚠️ 注意 要安装好docker

apt-get update && apt-get -y upgrade

curl -fsSL https://get.docker.com | bash -s docker

apt-get install docker-compose-plugin -y

docker compose version

systemctl enable docker
  1. 执行以下命令运行caddy
docker run -d --name caddy -p 80:80 -p 443:443 -p 443:443/udp \
-v /root/caddyweb/caddy/:/etc/caddy/ \
-v /root/caddyweb/html/:/usr/share/caddy/ \
--restart=always caddy:latest
  1. 查看运行状态
docker ps

正常无误的话即可浏览器输入域名进入Grafana

例如我是grafana.lalalayes.xyz

CleanShot 2024-06-14 at 10.11.37@2x.png

免登录查看grafana面板

caddy搭建成功后,很多朋友会发现需要登录,才能查看

为了实现可免登录访问,可以通过如下方式进行设置:

修改Grafana配置文件

在Grafana的配置文件/etc/grafana/grafana.ini 中,找到[auth.anonymous]配置块,将其下的匿名访问控制 enabled 设置为 true,组织权限设置为 Viewer。

(Viewer:只读模式,Editor:可编辑模式,Admin:管理员模式)

如下

#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
enabled = true

# specify organization name that should be used for unauthenticated users
org_name = Main Org.

# specify role for unauthenticated users
org_role = Viewer

重启Grafana服务

修改完配置文件,重启Grafana服务,命令如下:

sudo systemctl restart grafana-server

添加访问权限(可选)

如果完成上述步骤,可以免登录进入面板,但是却看不到仪表盘,那么可能是没有给viewer权限,如果可以看到无视这一步

按照下图操作

CleanShot 2024-06-14 at 10.18.46@2x.png


CleanShot 2024-06-14 at 10.19.18@2x.png

查看是否有红框框的viewer角色

CleanShot 2024-06-14 at 10.19.42@2x.png

如果没有的话,按照下图操作

CleanShot 2024-06-14 at 10.20.05@2x.png

现在再开无痕浏览(退出登录)查看一下Grafana面板,应该就能够免登录查看仪表盘了,但要注意仪表盘是否会漏ip

Tips

相同的

如果你希望别人在没有登陆的情况下,不要看到某些仪表盘

只需要到这个路径,然后按照下图,删掉Viewer角色权限即可

CleanShot 2024-06-14 at 10.23.58@2x.png

鸣谢

Grafana 匿名访问(免登录) - 龙凌云端 - 博客园