Сервер вышел из строя из-за DDOS-атаки. Мой друг использовал мой сервер для тестирования и потерял дар речи... он был убит за одну секунду.
Раньше я использовал Qiniu Cloud, а в следующий раз буду использовать EdgeOne, который производится Tencent, и вы можете ему доверять!
Не волнуйтесь, EdgeOne поможет вам решить все ваши проблемы за один раз. Вы не будете бояться лагов атаки и учтете и ускорение, и безопасность!
EdgeOne — CDN нового поколения. Это первый универсальный комплексный сервисный продукт, выпущенный Tencent Cloud для глобального обслуживания клиентов.
Это также первый по-настоящему универсальный продукт для ускорения обеспечения безопасности на внутреннем рынке. По сравнению с традиционным CDN EdgeOne является безопасным, гибким и
Благодаря множеству преимуществ, таких как высокая эффективность и гибкость, Tencent может предоставлять интегрированные услуги защиты и ускорения безопасности TCP/UDP/HTTP/HTTPS клиентам по всему миру на основе глобальных периферийных узлов Tencent.
Удовлетворяйте разнообразные потребности бизнеса в различных отраслях и сценариях!
Он поддерживает защиту от атак на уровне веб-приложений, DDoS-атак, CC-атак и атак BOT/сканеров. Он также позволяет пользователям настраивать сложные правила контроля доступа в соответствии с потребностями бизнеса.
Давайте просто выберем комплексный обед за девять юаней.
Выберите режим доступа. EdgeOne предоставляет вам два режима доступа, а именно режим доступа NS и режим доступа CNAME. Различия между различными режимами доступа заключаются в следующем:
модель | Доступ к NS (рекомендуется) | Доступ CNAME |
---|---|---|
Применимые сценарии | Вы можете изменить исходного поставщика услуг разрешения доменных имен и разместить разрешение доменных имен в EdgeOne. | Текущее доменное имя уже размещено у другого поставщика услуг разрешения доменных имен (например, Tencent Cloud DNSPod), и вы не хотите менять исходного поставщика услуг разрешения. |
Метод доступа | Вам нужно всего лишь один раз обратиться к исходному поставщику услуг разрешения доменных имен, чтобы изменить DNS-сервер. После разрешения управляемого доменного имени вы можете включить ускорение безопасности для доменного имени одним щелчком мыши. | Каждый раз, когда вы добавляете новое имя поддомена и включаете ускорение, вам необходимо обратиться к соответствующему поставщику услуг разрешения DNS, чтобы добавить запись CNAME. |
Метод проверки | Исходный NS-сервер необходимо изменить на адрес, указанный EdgeOne. | Подтвердите право собственности на основное доменное имя, добавив записи DNS или проверив текст. |
Метод планирования | После ускорения доменного имени его можно указать непосредственно на ближайший пограничный узел EdgeOne через запись A. | После включения ускорения доменного имени его необходимо отправить на ближайший пограничный узел EdgeOne через Cname. |
Я использую здесь CNAME
Нажмите «Управление доменными именами», «Конфигурация доменного имени», чтобы переключиться.
Руководство по настройке доменного имени
@ Напрямую подключите основное доменное имя yby6.com.
www соединяет субдомен www.yby6.com
test Подключите имя субдомена test.yby6.com
Замените информацию о записи хоста с помощью EdgeOne
После завершения настройки она будет развернута.
Дальше пойдём к маме. Почему стало небезопасно?!!!
Оказывается, EdgeOne не настроил протокол HTTPS, поэтому мы подадим заявку на его использование.
Студенты могут следовать этому шаг за шагом. Я не буду рассказывать вам об этом.
Подайте заявку напрямую бесплатно, и она будет развернута автоматически.
Развертывание успешно!
Прежде чем получить доступ к сайту, вы можете открыть браузер, нажать F12, чтобы просмотреть инструменты разработчика, а затем ввести адрес сервера сайта.
например: Прямой ввод через браузер 127.0.0.1
Ваш собственный IP-адрес соответствующего сервера
Вы можете видеть, что мой первый раз, когда я подключался напрямую по IP, это было очень медленно!
Во втором тесте используется ускоренное доменное имя, которое мы настроили. yby6.com
Вы можете видеть, что это очень быстро! Уменьшено до 564 миллисекунд~
Результаты тестирования с использованием Браузер Сафари
Спасибо Tencent Cloud за то, что дали мне смелость противостоять этим DDOS-людям, у-у-у-у~
Здесь я использую имя файла непосредственно в качестве стратегии.
Он также может иметь HOST, URL PATH, URL Full, суффикс файла, имя файла и полный запрос сайта.
Ха-ха-ха-ха!!! Очень мощно!
В этом примере заголовок запроса получается с помощью User-Agent информация для определения типа клиента и использования fetch API Получите исходное изображение сайта и масштабируйте изображение в соответствии с типом клиента для достижения Адаптивного. масштабирование Эффект изображения. Эта реализация может улучшить взаимодействие с пользователем веб-сайта, позволяя отображать изображения оптимального размера на разных устройствах.
addEventListener('fetch', event => {
// Когда код функции выдает необработанное исключение, граничная функция пересылает запрос обратно в источник.
event.passThroughOnException();
event.respondWith(handleEvent(event));
});
async function handleEvent(event) {
const { request } = event;
const urlInfo = new URL(request.url);
const userAgent = request.headers.get('user-agent');
// Запросить ресурсы, не являющиеся изображениями
if (!/\.(jpe?g|png)$/.test(urlInfo.pathname)) {
return fetch(request);
}
// Ширина мобильного изображения
let width = 480;
const isPcClient = isPc(userAgent);
// PC ширина конечного изображения
if (isPcClient) {
width = 1280;
}
// Увеличение изображения
const response = await fetch(request, {
eo: {
image: {
width,
}
}
});
// Установить заголовки ответа
response.headers.set('x-ef-client', isPcClient ? 'pc' : 'mobile');
return response;
}
// Запросить оценку типа клиента
function isPc(userAgent) {
const regex = /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i;
if(regex.test(userAgent)) {
return false;
}
return true;
}
Создать функцию
// Формат изображения, используемый браузером
const broswerFormat = {
Chrome: 'webp',
Opera: 'webp',
Firefox: 'webp',
Safari: 'jp2',
Edge: 'webp',
IE: 'jxr'
};
addEventListener('fetch', event => {
// Когда код функции выдает необработанное исключение, граничная функция пересылает запрос обратно в источник.
event.passThroughOnException();
event.respondWith(handleEvent(event));
});
async function handleEvent(event) {
const { request } = event;
const userAgent = request.headers.get('user-agent');
const bs = getBroswer(userAgent);
const format = broswerFormat[bs];
// Нет необходимости конвертировать форматы изображений
if (!format) {
return fetch(request);
}
// Преобразование формата изображения
const response = await fetch(request, {
eo: {
image: {
format
}
}
});
// Установить заголовки ответа
response.headers.set('x-ef-format', format);
return response;
}
function getBroswer(userAgent) {
if (/Edg/i.test(userAgent)) {
return 'Edge'
}
if (/Trident/i.test(userAgent)) {
return 'IE'
}
if (/Firefox/i.test(userAgent)) {
return 'Firefox';
}
if (/Chrome/i.test(userAgent)) {
return 'Chrome';
}
if (/Opera|OPR/i.test(userAgent)) {
return 'Opera';
}
if (/Safari/i.test(userAgent)) {
return 'Safari'
}
}
В правиле запуска функции настройте условия запуска функции. В соответствии с текущими требованиями сцены вы можете настроить два условия запуска для запуска с логикой И.
Запрос HOST равен Image.yby6.com.
Путь URL-адреса запроса равен /image/*.
Когда URL-адрес запроса одновременно удовлетворяет вышеуказанным условиям, вышеуказанная функция Edge будет запущена для автоматической обработки изображения.
существовать Mac/linux среда для тестирования Chrome На примере браузера вы можете запустить команду в терминале:
curl --user-agent "Chrome" https://image.example.com/image/test.jpg -i
Посмотреть ответ Content-Type информация, является ли она image/webp。
существовать Mac/linux Окружающая среда, запустите команду в терминале: Curl --user-agent "safari" https://image.example.com/image/test.jpg -i
Посмотреть ответ Content-Type информация, является ли она image/jp2。
После этого опыта с EdgeOne я чувствую, что его функции очень мощные, у меня все еще есть много функций, в которые я еще не играл. У него есть механизм правил, защита безопасности, пограничные функции, инструменты тестирования, инструменты диагностики и т. д. С ним можно поиграть. .
я чувствую егоПреимущества производительности
очень мощныйEdgeOneИспользуйте распространениесуществовать Граничные узлы по всему миру,Может ускорить доставку контента и время ответа.,Обеспечьте лучшую производительность. Это важно для приложений, которым требуется низкая задержка и высокая пропускная способность.
егобезопасность
периферийные вычислениясуществовать Станьте ближе к конечным пользователям,Тем самым помогая уменьшить потенциальные кибератаки. EdgeOne предлагает множество функций безопасности.,Включает DDoS и веб-защиту.,Может помочь защитить приложения от киберугроз。гибкость
через функцию краяEdgeOneдать возможность разработчикамсуществовать Запуск собственного кода на пограничных узлах,Это открывает возможности для создания гибких периферийных приложений.
Этот вопрос исчерпан. Увидимся в следующий раз👋~
🌊 Подпишитесь на меня, чтобы не потеряться. Если эта статья вам полезна или у вас есть какие-либо вопросы, оставьте сообщение в области комментариев, я обычно отвечу, когда увижу ее. Пожалуйста, поставьте лайк и поддержите~ 💗
ЯсуществоватьучаствоватьНа втором этапе специального тренировочного лагеря Tencent Technology Creation 2023 года будут отмечены призовые эссе, которые разделят призовой фонд в 10 000 юаней и часы с клавиатурой.
![входить