Files
smom-dbis-138/terraform/phases/phase1/scripts/fix-nginx-proxy.sh
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

131 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
# Fix Nginx Proxy Configuration
# Run this script on the Nginx proxy VM to fix common issues
set -euo pipefail
echo "=========================================="
echo "Fixing Nginx Proxy Configuration"
echo "=========================================="
echo ""
# Check if running as root or with sudo
if [ "$EUID" -ne 0 ]; then
echo "This script requires sudo privileges"
exit 1
fi
# Install missing packages
echo "1. Installing missing packages..."
apt-get update -qq
# Install Docker if not present
if ! command -v docker &> /dev/null; then
echo "Installing Docker..."
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update -qq
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl enable docker
systemctl start docker
echo "Docker installed"
else
echo "Docker already installed"
fi
# Install Cloudflared if not present
if ! command -v cloudflared &> /dev/null; then
echo "Installing Cloudflared..."
curl -L --output /tmp/cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
dpkg -i /tmp/cloudflared.deb || apt-get install -f -y
rm /tmp/cloudflared.deb
echo "Cloudflared installed"
else
echo "Cloudflared already installed"
fi
# Fix Nginx configuration
echo ""
echo "2. Fixing Nginx configuration..."
# Create directories
mkdir -p /var/www/html
mkdir -p /etc/nginx/conf.d
# Check Nginx config
if nginx -t 2>&1 | grep -q "syntax is ok"; then
echo "Nginx configuration is valid"
# Try to start Nginx
if systemctl start nginx 2>/dev/null; then
echo "Nginx started successfully"
systemctl enable nginx
else
echo "Nginx failed to start. Checking logs..."
journalctl -u nginx --no-pager -n 20
fi
else
echo "Nginx configuration has errors:"
nginx -t
echo ""
echo "Creating minimal working configuration..."
# Create minimal Nginx config
cat > /etc/nginx/nginx.conf <<'EOF'
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name _;
location / {
return 200 "Nginx Proxy - Phase 1\n";
add_header Content-Type text/plain;
}
location /health {
return 200 "healthy\n";
add_header Content-Type text/plain;
}
}
}
EOF
if nginx -t; then
systemctl start nginx
systemctl enable nginx
echo "Nginx started with minimal configuration"
else
echo "Failed to create valid Nginx configuration"
fi
fi
# Check service status
echo ""
echo "3. Service Status:"
systemctl is-active nginx && echo "✓ Nginx: active" || echo "✗ Nginx: inactive"
systemctl is-active docker && echo "✓ Docker: active" || echo "✗ Docker: inactive"
systemctl is-active cloudflared && echo "✓ Cloudflared: active" || echo "⊘ Cloudflared: inactive (not configured)"
echo ""
echo "=========================================="
echo "Nginx Proxy Fix Complete"
echo "=========================================="