#!/bin/bash

# 定义变量
NGINX_CONF_DIR="/etc/nginx/sites-available"
NGINX_ENABLED_DIR="/etc/nginx/sites-enabled"
CONF_FILE="api.cemcoe.com"
CONF_PATH="$NGINX_CONF_DIR/$CONF_FILE"
LINK_PATH="$NGINX_ENABLED_DIR/$CONF_FILE"
SSL_CERT="/etc/nginx/cemcoe.com.pem"
SSL_KEY="/etc/nginx/cemcoe.com.key"
PROXY_TARGET="http://127.0.0.1:3000/"

# 创建 Nginx 配置文件
echo "Configuring Nginx for api.cemcoe.com..."
sudo tee "$CONF_PATH" <<EOL
server {
    listen 443 ssl;
    server_name api.cemcoe.com;

    ssl_certificate $SSL_CERT;
    ssl_certificate_key $SSL_KEY;

    location / {
      proxy_pass $PROXY_TARGET;
    }
}

server {
    listen 80;
    server_name api.cemcoe.com;

    location / {
      proxy_pass $PROXY_TARGET;
    }
}
EOL

# 创建符号链接以启用配置
echo "Linking configuration to $NGINX_ENABLED_DIR..."
sudo ln -sf "$CONF_PATH" "$LINK_PATH"

# 测试 Nginx 配置语法
echo "Testing Nginx configuration..."
sudo nginx -t
if [ $? -ne 0 ]; then
    echo "Nginx configuration test failed. Please check the configuration file."
    exit 1
fi

# 重启 Nginx 服务
echo "Restarting Nginx to apply changes..."
sudo systemctl restart nginx
if [ $? -eq 0 ]; then
    echo "Nginx restarted successfully."
else
    echo "Failed to restart Nginx. Please check the service status."
    exit 1
fi

echo "Nginx has been configured successfully for api.cemcoe.com."
