首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Nginx编写应用程序

用Nginx编写应用程序
EN

Stack Overflow用户
提问于 2022-09-26 23:57:43
回答 1查看 204关注 0票数 0

我在debian服务器上安装了Appwrite。Appwrite的https端口是444 (已经使用了443)。Nginx将我的子域重定向到这个端口。我有一个自定义SSL证书,它适用于这个域和子域.我可以通过子域打开appwrite,但是当我单击“注册”为appwrite创建一个根帐户时,我会得到以下错误:

无效起源。在项目控制台仪表板上将新客户端(appwrite.domain.de)注册为一个新的网络平台

首先,我认为我必须在server-config中设置proxy_set_header Host $host;,但之后我无法打开Appwrite.相反,我得到了错误

{“消息”:“错误:服务器错误”、“代码”:500、“版本”:“1.0.1”}

有人有其他的想法或已经解决了同样的问题吗?

这是我在Nginx中的服务器配置:

代码语言:javascript
复制
server {
server_name appwrite.domain.de;
location / {
    proxy_pass https://localhost:444;
}
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/domain.de_ssl_certificate.cer;
ssl_certificate_key /etc/nginx/ssl/domain.de_private_key.key;
}

server {
    listen 80;
        server_name     domain.de
                        www.domain.de
                        ;
    return 301 https://$host$request_uri;
}

server {
        listen 80;
        listen 443 ssl;
        ssl_certificate /etc/nginx/ssl/domain.de_ssl_certificate.cer;
        ssl_certificate_key /etc/nginx/ssl/domain.de_private_key.key;
        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        server_name     domain.de
                        www.domain.de
                        ;
        location / {
                try_files $uri $uri/ =404;
        }

(谢谢你的帮助;)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-27 02:43:28

你说得对,你需要包括proxy_set_header Host $host;指令。您还可能希望在服务器下面包括以下内容:

代码语言:javascript
复制
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_http_version 1.1;

以及下列地点:

代码语言:javascript
复制
add_header       X-Served-By $host;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Forwarded-Proto  $scheme;
proxy_set_header X-Forwarded-Host   $host;
proxy_set_header X-Forwarded-Port   $port;
proxy_set_header X-Forwarded-For    $remote_addr;
proxy_set_header X-Real-IP          $remote_addr;
proxy_pass       $forward_scheme://$server:$port$request_uri;

如果您看到一个500错误,最好检查坞日志中的appwrite容器,看看问题出在哪里。

另外,如果您正在寻找一种更简单的方法来管理Nginx,我强烈推荐Nginx代理经理(NPM)。我在我的应用程序前面使用NPM。

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

https://stackoverflow.com/questions/73861036

复制
相关文章

相似问题

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