# Protect a website

This guide will show how to have a website protected with Cloudflare and a Minecraft protected with TCPShield. This guide assumes you have a domain on Cloudflare already.

## Step 1: Login and remove existing records

First, we need to protect our web server with Cloudflare. Let's log into Cloudflare and do that.

![Click here when you login](/files/-MWXY-jognDJUCg724aD)

Now we will add our web server to Cloudflare. First we need to see if there are any DNS records already pointed to `@` (the base domain) or `www`.

{% hint style="info" %}
This guide will assume **example.com** is my domain
{% endhint %}

![127.0.0.1 is an example in this case](/files/-MWXY5ZEkqaDS9Hqnbjd)

## Step 2: Add your web server IP

Now, we will add our web server to cloudflare and proxy it. We can do that like this.

![Click here](/files/-MWXY8qPdSHtjCk5kGcz)

![Create the new DNS record](/files/-MWXYBLy8Eu2cJBuLLKr)

{% hint style="info" %}
If you would like `www.` to work as well, do the same thing again but replace `@` with `www`
{% endhint %}

## Step 3: Create the SRV record

Now we have protected our website on Cloudflare! Now we will make sure players can still connect with `example.com` using no subdomain.

#### Step 3.1: Point TCPShield CNAME to a target

Create a new DNS record like this

![Create a new DNS record for the target](/files/-MWXYHU2dvxQytnuIZuS)

#### Step 3.2: Create the SRV

Now we make it so `example.com` takes you to your server on Minecraft. Copy the steps below.

<figure><img src="/files/f15TgjWUp5zYJOriGf5E" alt=""><figcaption><p>Copy the settings above</p></figcaption></figure>

**IMPORTANT**: The port on the SRV record has to be **25565**. That's the port TCPShield is listening on, not your backend port.

#### Step 3.3: Done

It's as easy as one two three.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tcpshield.com/miscellaneous/protect-a-website.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
