首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache/Nextcloud的NGINX反向代理

Apache/Nextcloud的NGINX反向代理
EN

Stack Overflow用户
提问于 2021-04-10 13:12:55
回答 1查看 3.9K关注 0票数 0

我有一个Proxmox服务器和一个NGINX服务器。作为VPS,我有一个Nextcloud。我可以通过IP登录。

我的Proxmox是可以通过域获得的。我希望Nginx作为我的云和其他服务的反向代理。我在proxmox.conf中有这段代码

代码语言:javascript
运行
复制
upstream proxmox {
    server proxmox.domain.com;
    
}
 
server {
    listen 80 default_server;
    rewrite ^(.*) https://$host$1 permanent;
}
 
server {
    listen 443;
    server_name proxmox.domain.com;
    ssl on;
    ssl_certificate /etc/ca-certificates/crt.crt;
    ssl_certificate_key /etc/ca-certificates/key.key;
    proxy_redirect off;
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade"; 
        proxy_pass https://localhost:8006;
    proxy_buffering off;
    client_max_body_size 0;
    proxy_connect_timeout  3600s;
        proxy_read_timeout  3600s;
        proxy_send_timeout  3600s;
        send_timeout  3600s;
    }
}

upstream php {
    server nextcloud.domain.com;
}
server {

    listen 443;
    server_name nextcloud.domain.com;
    ssl on;
    ssl_certificate /etc/ca-certificates/crt.crt;
    ssl_certificate_key /etc/ca-certificates/key.key;
    proxy_redirect off;
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade"; 
        proxy_pass https://192.168.178.139:443;
    proxy_buffering off;
    client_max_body_size 0;
    proxy_connect_timeout  3600s;
        proxy_read_timeout  3600s;
        proxy_send_timeout  3600s;
        send_timeout  3600s;
    }
}

这里是阿帕奇的港口

代码语言:javascript
运行
复制
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>


NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

下面是Apache的nextcloud.conf:

代码语言:javascript
运行
复制
<VirtualHost *:80>
 DocumentRoot "/var/www/html/nextcloud"
 ServerName nextcloud.domain.com

Redirect permanent / https://nextcloud.domain.com
Alias nextcloud.domain.com /var/www/html/nextcloud
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All

 <IfModule mod_dav.c>
 Dav off
 </IfModule>

 SetEnv HOME /var/www/htm/nextcloud
 SetEnv HTTP_HOME /var/www/html/nextcloud
 Satisfy Any

</Directory>

</VirtualHost>

我把端口改为80/443,每次都有坏网关502

下面是Nginx服务器的错误日志。如果Apache是空的,则错误日志。

代码语言:javascript
运行
复制
2021/04/10 14:41:47 [error] 2684#2684: *197 connect() failed (111: Connection refused) while connecting to upstream, client: 91.184.168.251, server: nextcloud.domain.com, request: "GET / HTTP/1.1", upstream: "https://192.168.178.139:443/", host: "nextcloud.domain.com"

这个配置有什么问题吗?我在互联网上尝试了几种选择,但都没有用。

我认为阿帕奇出于安全原因拒绝了它。但是,我不知道我可以在哪里配置它,以使服务器运行在反向代理后面。

有人能帮我吗?)

EN

回答 1

Stack Overflow用户

发布于 2021-04-26 19:40:27

您配置了可信的代理吗?

为了安全起见,您必须明确定义Nextcloud要信任的代理服务器。将特别处理来自受信任代理的连接,以获取真正的客户端信息,以便用于访问控制和日志记录。参数在config/config.php中配置

参考资料:

https://docs.nextcloud.com/server/21/admin_manual/configuration_server/reverse_proxy_configuration.html?highlight=trusted%20proxy#defining-trusted-proxies

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67034739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档