Почему мое развертывание Replit работает в Webview, но не загружается в производственном домене?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему мое развертывание Replit работает в Webview, но не загружается в производственном домене?

Сообщение Anonymous »

Я развертываю веб-приложение в Replit, используя развертывание зарезервированной виртуальной машины. Хотя приложение отлично работает в Replit Webview (на таких портах, как 3000 и 3001), оно не загружается на рабочем домене (например, https://my-app.replit.app).
Контекст:
  • Моя конфигурация .replit включает следующее:

    Код: Выделить всё

    [deployment]
    run = ["npm", "start"]
    deploymentTarget = "gce"
    
    [[ports]]
    localPort = 80
    externalPort = 3000
    
    [[ports]]
    localPort = 3000
    externalPort = 3001
    
    [[ports]]
    localPort = 3001
    externalPort = 3002
    
    [[ports]]
    localPort = 5173
    externalPort = 80
    exposeLocalhost = true
    
    [[ports]]
    localPort = 8080
    externalPort = 8080
    
    
  • Мой интерфейс использует Vite, а в файле vite.config.ts есть:

    Код: Выделить всё

    export default defineConfig({
    server: {
    host: '0.0.0.0',
    port: process.env.PORT || 3000,
    proxy: {
    '/api': {
    target: 'http://127.0.0.1:8080',
    changeOrigin: true,
    rewrite: (path) => path.replace(/^\/api/, ''),
    },
    },
    },
    });
    
  • Мой сервер (Python) работает на порту 8080:

    Код: Выделить всё

    app.run(host="0.0.0.0", port=8080)
    
  • Согласно документации Replit для развертываний зарезервированных виртуальных машин:
    • HTTP-запросы отправляются на внешний порт 80.
    • Сервер должен прослушивать порт 0.0.0.0 (не 127.0.0.1).
    • При автоматическом определении порта будет использоваться первый открытый порт, если он не настроен явно.
Проблемы:
  • Приложение работает в разработке, но не работает в рабочей среде.
  • Журналы показывают, что серверная часть работает, но запросы к рабочему домену не подключаются к приложению.
  • Я подозреваю, что проблема связана с сопоставлением портов или маршрутизацией трафика между интерфейсом и сервером
Что я пробовал:
  • Настройка PORT=8080 и host=0.0.0.0 как во внешнем, так и во внутреннем интерфейсе.
  • Явное сопоставление портов в . relit, чтобы представить 8080 как 80.
  • Тестирование портов Webview (, 8080), которые работают локально.
Вопрос:
Как правильно настроить развертывание Replit, чтобы приложение работало в рабочем домене (

Код: Выделить всё

https://my-app.replit.app
) и правильно маршрутизирует трафик между интерфейсом (Vite) и сервером (Python)?


Подробнее здесь: https://stackoverflow.com/questions/792 ... production
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»