502通过Nginx Web服务器上的子域代理的Nextcloud Docker容器上的网关错误
我在我的Raspberry Pi 4上运行Nginx Web服务器。我正在尝试将子域上的反向代理配置为Nextcloud Docker容器。但是,当我尝试在浏览器中访问此容器时,收到502错误网关。我已确保为我尝试为Nextcloud提供服务器的子域生成SSL证书 这是我的子域的服务器块的外观:502通过Nginx Web服务器上的子域代理的Nextcloud Docker容器上的网关错误,docker,nginx,raspberry-pi,reverse-proxy,nextcloud,Docker,Nginx,Raspberry Pi,Reverse Proxy,Nextcloud,我在我的Raspberry Pi 4上运行Nginx Web服务器。我正在尝试将子域上的反向代理配置为Nextcloud Docker容器。但是,当我尝试在浏览器中访问此容器时,收到502错误网关。我已确保为我尝试为Nextcloud提供服务器的子域生成SSL证书 这是我的子域的服务器块的外观: server { listen 443 ssl; server_name subdomain.domain.tld; ssl_certificate /path
server {
listen 443 ssl;
server_name subdomain.domain.tld;
ssl_certificate /pathtokey/subdomain.domain.tld/fullchain.pem;
ssl_certificate_key /pathtokey/subdomain.domain.tld/privkey;
location / {
proxy_pass https://127.0.0.1:9000/;
proxy_ssl_server_name on;
}
}
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: linuxserver/mariadb
# command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=<rootPassword>
- MYSQL_PASSWORD=<mysqlPassword>
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud:fpm
ports:
- 127.0.0.1:9000:9000
links:
- db
volumes:
- /mnt/hdd/nextcloud:/var/www/html
restart: always
这就是我的Nextcloud docker-compose.yml文件的样子:
server {
listen 443 ssl;
server_name subdomain.domain.tld;
ssl_certificate /pathtokey/subdomain.domain.tld/fullchain.pem;
ssl_certificate_key /pathtokey/subdomain.domain.tld/privkey;
location / {
proxy_pass https://127.0.0.1:9000/;
proxy_ssl_server_name on;
}
}
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: linuxserver/mariadb
# command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=<rootPassword>
- MYSQL_PASSWORD=<mysqlPassword>
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud:fpm
ports:
- 127.0.0.1:9000:9000
links:
- db
volumes:
- /mnt/hdd/nextcloud:/var/www/html
restart: always
我不确定这些配置中的错误在哪里。如果您能提供有关如何修复此问题的任何建议,我将不胜感激。您正在使用
nextcloud:fpm
image,它只是一个没有web服务器的php fpm实例您的nginx代理配置很好,但无法工作,因为您需要nginx
fastcgi\u proxy
将请求代理到后端php实例这里有一个简单的例子:
nginx(fastcgi)php fpm(nextcloud)db 第一种解决方案: 可以参考nextcloud官方文档了解如何配置nginx,或者只需复制配置: 第二种解决方案:
改用
nextcloud:apache
image。此映像已经包含一个apache web服务器,您可以直接访问它,而无需另一个nginx实例。谢谢,我能够修复此问题,并使用apache映像使nextcloud正常工作。