Мне сложно понять, как запустить как Flask Backend, так и Webpack Dev Server Frontend в моей среде разработки.
В настоящее время я использую Flask на порту 10003 и Webpack Dev Server на порту 10001.
Конфигурации Nginx:
upstream devapp_upstream {
server localhost:10001;
}
upstream devapp_secondary_upstream {
server localhost:10003;
}
server {
listen 127.0.0.1:80;
listen 10.1.243.103:80;
server_name ~api.(\w+).devbox.com ~api.(\w+).devbox.com ~api-(\w+).devbox.com ~api-(\w+).devbox.com;
location / {
proxy_pass http://devapp_api_upstream;
include /etc/nginx/conf.d/proxy.conf;
set $upstream_name devapp_api_upstream;
}
}
server {
listen 127.0.0.1:443 ssl http2;
listen 10.1.243.103:443 ssl http2;
server_name ~api.(\w+).devbox.com ~api.(\w+).devbox.com ~api-(\w+).devbox.com ~api-(\w+).devbox.com;
ssl_certificate /etc/ssl/certs/star.devbox.com.crt;
ssl_certificate_key /etc/ssl/private/star.devbox.com.key;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
http2_max_field_size 32k;
location / {
proxy_pass http://devapp_api_upstream;
proxy_set_header X-Forwarded-Protocol ssl;
include /etc/nginx/conf.d/proxy.conf;
set $upstream_name devapp_api_upstream;
}
}
server {
listen 127.0.0.1:80;
listen 10.1.243.103:80;
server_name ~^(?!api|node).*.devbox.com ~m.(\w).devbox.com ~m-(\w).devbox.com ~^(?!api|node).*.devbox.com ~m.(\w).devbox.com ~m-(\w).devbox.com;
access_log /var/log/nginx/devbox.com/access.log;
error_log /var/log/nginx/devbox.com/error.log;
location / {
proxy_pass http://devapp_upstream;
include /etc/nginx/conf.d/proxy.conf;
set $upstream_name devapp_upstream;
}
}
server {
listen 127.0.0.1:443 ssl http2;
listen 10.1.243.103:443 ssl http2;
server_name ~^(?!api).*.devbox.com ~m.(\w).devbox.com ~m-(\w).devbox.com ~^(?!api).*.devbox.com ~m.(\w).devbox.com ~m-(\w).devbox.com;
ssl_certificate /etc/ssl/certs/star.devbox.com.crt;
ssl_certificate_key /etc/ssl/private/star.devbox.com.key;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
http2_max_field_size 32k;
# Allows nginx to proxy errors thrown by python upstream over to node upstream
proxy_intercept_errors on;
recursive_error_pages on;
location / {
proxy_pass http://devapp_upstream;
proxy_set_header X-Forwarded-Protocol ssl;
# This will indicate whether a request came from Python or Node
add_header devbox-Generated-By $hostname always;
include /etc/nginx/conf.d/proxy.conf;
set $upstream_name devapp_upstream;
proxy_next_upstream http_502;
error_page 502 = @fullRequest;
}
location @fullRequest {
proxy_pass http://devapp_secondary_upstream;
proxy_set_header X-Forwarded-Protocol ssl;
include /etc/nginx/conf.d/proxy.conf;
set $upstream_name devapp_secondary_upstream;
}
}
Я ничего не знаю о nginx, просто пытаюсь использовать то, что там есть, чтобы это работало. Моя страница загружается без проблем, но сокет пытается подключиться по этому URL:
https://me.devbox.com:80/sockjs-node/info?t=1583823754945
но не получается, если я удалю :80
работает нормально. Я подумал: 80 должен был всегда переводиться на me.devbox.com
поэтому я не понимаю, почему это не работает.
Во-вторых, я тоже не могу найти приложение Flask. у меня есть /graphql
конечная точка, и я не могу добраться до нее как есть. Прямо сейчас я могу получить доступ к Webpack Dev Server или Flask, но не к обоим сразу. Я думал, что nginx сможет мне в этом помочь?