我正在使用docker映像linuxserver / letsencrypt。
我正在尝试运行带有节点子域的静态网站。
我的nginx配置是:
server {
listen 80;
listen [::]:80;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
root /config/www;
index index.html index.htm index.php;
server_name dreamingoftech.uk www.dreamingoftech.uk;
# all ssl related config moved to ssl.conf
include /config/nginx/ssl.conf;
# client_max_body_size 0;
# location / {
# try_files $uri $uri/ /index.html /index.php?$args =404;
# }
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
#
# root /config/www;
# index index.html index.htm index.php;
#
server_name api.dreamingoftech.uk;
#
include /config/nginx/ssl.conf;
#
# include /config/nginx/ldap.conf;
#
# client_max_body_size 0;
#
location / {
# include /config/nginx/proxy.conf;
# resolver 127.0.0.1 valid=30s;
proxy_pass http://localhost:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
# proxy_set_header Host api.dreamingoftech.uk;
proxy_cache_bypass $http_upgrade;
}
}
在解决问题上,我将提供一些帮助。 我已经将我的应用泊坞窗了,并让它们运行在同一虚拟网络上。
我还可以从服务器卷曲api主页,以便知道它已经启动。
静态站点可以正常运行,但在子域上出现502错误。
答案 0 :(得分:0)
您必须首先检查http://localhost:4000是否在加载后显示网页。否则,将导致错误。另外,没有配置索引页或根目录,以防nginx无法找到索引页或根目录
答案 1 :(得分:0)
最后弄清楚了。
我必须在docker-compose文件中添加一个网桥。
在NGinX上游配置中,我不得不引用节点应用程序的docker名称而不是localhost