
Como o título diz, o servidor foi configurado para reconhecer subdiretórios, mas por algum motivo eles não são reconhecidos quando carrego uma página web. Existe alguma maneira de depurar o que está acontecendo?
threadsafe: true
api_version: 1
handlers:
- url: /(.*\.html)
static_files: html/\1
upload: html/(.*\.html)
- url: /robots.txt
static_files: html/robot.txt
upload: html/robots.txt
- url: /pako
static_dir: third_party/pako
- url: /images
static_dir: images
- url: /js
static_dir: js
- url: /css
static_dir: css
- url: /compute/.*
script: apprtc.app
login: admin
- url: /probe.*
script: probers.app
secure: always
- url: /.*
script: apprtc.app
secure: always
libraries:
- name: jinja2
version: latest
- name: ssl
version: latest
- name: pycrypto
version: latest
env_variables:
BYPASS_JOIN_CONFIRMATION: false
# Only change these while developing, do not commit to source!
# Use appcfg.py --env_variable=ICE_SERVER_API_KEY:KEY \
# in order to replace variables when deploying.
ICE_SERVER_API_KEY: ""
# Comma-separated list of ICE urls to return when no ice server
# is specified.
ICE_SERVER_URLS: ""
# A message that is always displayed on the app page.
# This is useful for cases like indicating to the user that this
# is a demo deployment of the app.
HEADER_MESSAGE: ""
Aqui está a resposta do servidor
INFO 2021-08-12 05:20:35,496 admin_server.py:150] Starting admin server at: http://localhost:8000
INFO 2021-08-12 05:20:37,540 instance.py:294] Instance PID: 16382
INFO 2021-08-12 05:20:43,429 apprtc.py:95] Applying media constraints: {'video': {'optional': [{'minWidth': '1280'}, {'minHeight': '720'}], 'mandatory': {}}, 'audio': True}
WARNING 2021-08-12 05:20:43,436 apprtc.py:139] Invalid or no value returned from memcache, using fallback: null
INFO 2021-08-12 05:20:43,452 module.py:861] default: "GET / HTTP/1.1" 200 8965
INFO 2021-08-12 05:20:43,520 module.py:861] default: "GET /css/main.css HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,575 module.py:861] default: "GET /js/util.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,577 module.py:861] default: "GET /js/adapter.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,629 module.py:861] default: "GET /js/constants.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,631 module.py:861] default: "GET /js/infobox.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,635 module.py:861] default: "GET /js/analytics.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,639 module.py:861] default: "GET /js/sdputils.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,643 module.py:861] default: "GET /js/call.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,646 module.py:861] default: "GET /js/appcontroller.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,698 module.py:861] default: "GET /css/main.css HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,709 module.py:861] default: "GET /js/peerconnectionclient.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,699 module.py:861] default: "GET /js/adapter.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,710 module.py:861] default: "GET /js/roomselection.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,711 module.py:861] default: "GET /js/util.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,712 module.py:861] default: "GET /js/signalingchannel.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,751 module.py:861] default: "GET /js/stats.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,764 module.py:861] default: "GET /js/storage.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,768 module.py:861] default: "GET /js/sdputils.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,773 module.py:861] default: "GET /js/constants.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,776 module.py:861] default: "GET /js/infobox.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,777 module.py:861] default: "GET /js/analytics.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,806 module.py:861] default: "GET /js/appcontroller.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,825 module.py:861] default: "GET /js/call.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,836 module.py:861] default: "GET /js/peerconnectionclient.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,840 module.py:861] default: "GET /js/roomselection.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,841 module.py:861] default: "GET /js/stats.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,842 module.py:861] default: "GET /js/signalingchannel.js HTTP/1.1" 304 -
INFO 2021-08-12 05:20:43,858 module.py:861] default: "GET /js/storage.js HTTP/1.1" 304 -
O servidor que estou configurando pode ser encontradoaqui. O que estou tentando fazer é criar um servidor (que já foi escrito - mas não configurado) que recebe fluxos de vídeo gerados pelo meu Google Glass e permite que as pessoas entrem em uma sala onde possam ver meu fluxo de vídeo. Meu Google Glass pode ver os feeds da webcam na minha tela. A plataforma em que configuro o servidor é Debian 10. As ferramentas são Google App Engine SDK para Python, Node.js e Grunt. Parte do site também está escrita em Go.
O servidor é iniciado executando
./collidermain -tls=true -port=8089 -room-server=http://example.com
E também correndo
python ../google-cloud-sdk/bin/dev_appserver.py --host example.com ./out/app_engine
O motivo pelo qual estou pedindo ajuda é que os diretórios especificados no arquivo app.yaml mostrado acima estão posicionados corretamente em relação ao arquivo de índice usado. Então, não sei por que isso não vai buscá-los. O site é uma réplicaesse site
Se precisar que eu elabore mais, por favor me avise e tentarei!
Portanto, parece que o servidor da Web no qual foi projetado para ser executado não foi feito para ser executado em https. E o próprio servidor não funcionará totalmente sem uma conexão https.
Responder1
O software que configurei é estritamente para um ambiente de desenvolvimento destinado a ser executado em localhost. Para configurar um ambiente de produção, preciso usar os serviços web do Google. É por isso que o site não funciona.
Para quem se deparar com isso no futuro:
- Você precisa de SSL para poder visitar salas no software
- SSL não é compatível, a menos que você use um serviço da Web do Google
- você pode configurar o serviço da web para usar seu domínio para ter a opção de configurar um subdomínio ou simplesmente usar seu domínio principal para o aplicativo.