Изучение различных методов создания веб-сервера Rust Rocket на порту 80

В этой статье блога мы углубимся в различные методы создания веб-сервера Rust Rocket, работающего на порту 80. Мы предоставим примеры кода для каждого метода, что позволит вам следовать инструкциям и экспериментировать с созданием собственного веб-сервера с использованием популярный фреймворк Rust Rocket.

Метод 1: базовый сервер Rocket
Для начала давайте создадим базовый сервер Rocket, который прослушивает порт 80.

use rocket::Rocket;
#[rocket::main]
async fn main() {
    Rocket::ignite().launch().await.unwrap();
}

Метод 2: настройка порта 80
По умолчанию Rocket прослушивает порт 8000. Чтобы изменить его на порт 80, вы можете использовать модуль config.

use rocket::config::{Config, Environment};
use rocket::Rocket;
#[rocket::main]
async fn main() {
    let config = Config::build(Environment::Production)
        .address("0.0.0.0")
        .port(80)
        .finalize()
        .unwrap();
    Rocket::custom(config).launch().await.unwrap();
}

Метод 3: использование файла конфигурации Rocket.toml
Другой способ настроить Rocket на использование порта 80 — предоставить конфигурацию в файле Rocket.toml.

Создайте файл Rocket.tomlсо следующим содержимым:

[global]
address = "0.0.0.0"
port = 80

Измените файл main.rs, как показано ниже:

use rocket::Rocket;
#[rocket::main]
async fn main() {
    Rocket::ignite().launch().await.unwrap();
}

Метод 4: запуск через обратный прокси
Для работы сервера Rocket на порту 80 могут потребоваться повышенные привилегии. Распространенный подход – запуск Rocket через обратный прокси-сервер, например NGINX или Apache, который обрабатывает HTTP-трафик.

Вот пример конфигурации NGINX:

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://localhost:8000;
    }
}

Обязательно измените имя сервера и URL-адрес прокси-сервера в соответствии с вашими настройками.

В этой статье мы рассмотрели различные методы создания веб-сервера Rust Rocket на порту 80. Мы рассмотрели базовую настройку сервера, прямую настройку порта 80, использование файла конфигурации Rocket.tomlи запуск через обратный прокси. Следуя предоставленным примерам кода, вы сможете начать создавать собственный веб-сервер с помощью Rust и Rocket.