AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[parse-server](server)

Martin Hope
serverNewbie
Asked: 2021-09-27 12:29:31 +0800 CST

“不允许 CORS 多源” - 使用 parse-server 和 apache2

  • 0

我使用 apache2 作为我的解析服务器的反向代理。为了允许跨域请求,我最初尝试设置:

Header always set Access-Control-Allow-Origin "*"

在 apache 配置文件中连同:

ProxyPass /parse/ http://localhost:1337/parse/
ProxyPassReverse /parse/ http://localhost:1337/parse/
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]

设置后,请求成功地从 apache 转发到我的解析服务器。但是现在我的 Webapp 抛出CORS Multiple Origin Not Allowed.

在我的浏览器的开发者控制台中,我可以看到这个 Access-Control-Allow-Origin 选项设置了两次。

在此处输入图像描述

我已经确认第二个实例是由于解析服务器而出现的。但是,我找不到阻止 parse-server 或 apache 在响应中设置此选项的方法。

我尝试将 apache 配置中的初始行更改为:

1.

Header always setifempty Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Origin "*"
Header always edit Access-Control-Allow-Origin "^$" "*"

这些尝试都没有改变任何东西。但是,删除Access-Control-Allow-Originapache 配置中的选项会阻止初始请求通过解析服务器,因此这不是一个选项。

我正在使用 apache2 版本2.4.29和 parse-server 4.10.3。

有谁知道让这个工作的方法?

reverse-proxy apache-2.4 apache2 parse-server cors
  • 2 个回答
  • 1858 Views
Martin Hope
AppreciateIt
Asked: 2017-01-16 01:48:02 +0800 CST

当我希望 Google App Engine 限制为 1 个时,Google App Engine 会继续创建 4 个实例

  • 0

我在谷歌应用引擎上运行的 Parse 应用程序在其 app.yaml 中配置为在柔性环境中使用最少和最多 1 个实例,但我一直看到它创建了 4 个实例。因此,我已禁用帐户计费,因为即使我希望它最多只有 1 个实例,成本也会不断增长。

我想知道它为什么这样做,以及如何阻止它发生。app.yaml 在柔性环境中不起作用吗?

我的 app.yaml:

runtime: nodejs
env: flex
api_version: 1

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 1
  cool_down_period_sec: 120 # default value
  cpu_utilization:
    target_utilization: 0.5

resources:
  cpu: .2
  memory_gb: 0.6
  disk_size_gb: 10

这是一个 node.js 应用程序顺便说一句(解析)。

编辑:我还尝试了手动缩放并将实例数设置为 1。它没有太大的区别,有 3 个实例正在运行而不是 4 个。有时它会回到 4 个。

google-app-engine google-cloud-platform node.js parse-server
  • 1 个回答
  • 648 Views
Martin Hope
jftuga
Asked: 2016-10-22 10:04:28 +0800 CST

无法通过 SSL 连接到 MongoDb

  • 0

我正在尝试按照这些说明通过 SSL 连接到 MongoDB: https ://gist.github.com/leommoore/1e773a7d230ca4bbe1c2

我做的一个小改动是使用certbot certonly而不是letsencrypt-auto certonly.

在我的 /etc/letsencrypt/live/redacted.exampledomain.com/

lrwxrwxrwx. 1 root root 51 Oct 19 05:42 cert.pem -> ../../archive/redacted.exampledomain.com/cert1.pem
lrwxrwxrwx. 1 root root 52 Oct 19 05:42 chain.pem -> ../../archive/redacted.exampledomain.com/chain1.pem
lrwxrwxrwx. 1 root root 56 Oct 19 05:42 fullchain.pem -> ../../archive/redacted.exampledomain.com/fullchain1.pem
lrwxrwxrwx. 1 root root 54 Oct 19 05:42 privkey.pem -> ../../archive/redacted.exampledomain.com/privkey1.pem

在我的 /etc/letsencrypt/archive/redacted.exampledomain.com/ 目录中,我有:

-rw-r--r--. 1 root root 1830 Oct 19 05:42 cert1.pem
-rw-r--r--. 1 root root 1647 Oct 19 05:42 chain1.pem
-rw-r--r--. 1 root root 3477 Oct 19 05:42 fullchain1.pem
-rw-r--r--. 1 root root 1704 Oct 19 05:42 privkey1.pem

这是我用来自动化该过程的脚本:

#!/bin/bash
# from: https://gist.github.com/leommoore/1e773a7d230ca4bbe1c2
SOURCE=/etc/letsencrypt/live/redacted.exampledomain.com
DEST=/etc/ssl/mongodb
cat ${SOURCE}/privkey.pem ${SOURCE}/cert.pem > ${DEST}/mongodb.pem
# (also tried this...)
# cat ${SOURCE}/privkey.pem ${SOURCE}/fullchain.pem > ${DEST}/mongodb.pem

if [ ! -e ${DEST}/ca.crt ] ; then
    # from: https://www.identrust.com/certificates/trustid/root-download-x3.html
    echo "-----BEGIN CERTIFICATE-----" > ${DEST}/ca.crt
    echo "MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/" >> ${DEST}/ca.crt
    echo "MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT" >> ${DEST}/ca.crt
    echo "DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow" >> ${DEST}/ca.crt
    echo "PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD" >> ${DEST}/ca.crt
    echo "Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB" >> ${DEST}/ca.crt
    echo "AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O" >> ${DEST}/ca.crt
    echo "rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq" >> ${DEST}/ca.crt
    echo "OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b" >> ${DEST}/ca.crt
    echo "xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw" >> ${DEST}/ca.crt
    echo "7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD" >> ${DEST}/ca.crt
    echo "aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV" >> ${DEST}/ca.crt
    echo "HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG" >> ${DEST}/ca.crt
    echo "SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69" >> ${DEST}/ca.crt
    echo "ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr" >> ${DEST}/ca.crt
    echo "AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz" >> ${DEST}/ca.crt
    echo "R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5" >> ${DEST}/ca.crt
    echo "JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo" >> ${DEST}/ca.crt
    echo "Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ" >> ${DEST}/ca.crt
    echo "-----END CERTIFICATE-----" >> ${DEST}/ca.crt
    cat ${SOURCE}/chain.pem >> ${DEST}/ca.crt # also tried fullchain.pem, did not work
fi
openssl x509 -in ${DEST}/ca.crt -out ${DEST}/ca.pem -outform PEM
openssl verify -CAfile ${DEST}/ca.crt ${DEST}/mongodb.pem

当我运行它时,它输出:/etc/ssl/mongodb/mongodb.pem: OK

我已将这些行添加到/etc/mongod.conf:

ssl:
  mode: requireSSL
  PEMKeyFile: /etc/ssl/mongodb/mongodb.pem
  CAFile:     /etc/ssl/mongodb/ca.pem

重新启动了服务。

我已将 2 个 .pem 文件复制到远程主机,并尝试使用以下命令进行远程连接:

mongo --ssl -sslCAFile ${HOME}/mongodb/ca.pem --sslPEMKeyFile ${HOME}/mongodb/mongodb.pem redacted.exampledomain.com:27017/testdb

这是我收到的错误消息:

2016-10-19T18:53:21.851-0700 E NETWORK  [thread1] SSL peer certificate validation failed: unable to verify the first certificate
2016-10-19T18:53:21.852-0700 E QUERY    [thread1] Error: socket exception [CONNECT_ERROR] for SSL peer certificate validation failed: unable to verify the first certificate :
connect@src/mongo/shell/mongo.js:231:14
@(connect):1:6

exception: connect failed

我究竟做错了什么?我怎样才能解决这个问题?我的最终目标是将数据从parse.com我自己的服务器迁移。

ssl mongodb parse-server
  • 1 个回答
  • 2845 Views
Martin Hope
Asadullah Ali
Asked: 2016-08-30 08:26:32 +0800 CST

在 AWS elasticbeanstalk 上使用 Parse Live Query 部署 Parse 服务器

  • 1

我已经在 AWS elasticbeanstalk 上部署了带有Parse LiveQuery的NodeJs Parse 服务器,但 LiveQuery 似乎无法正常工作。当我尝试从我的 iOS 客户端应用程序订阅时,它给了我错误。

错误:错误域 = SRWebSocketErrorDomain 代码 = 2132“从服务器 404 收到错误响应代码”

注意:当我在我的 Mac 上本地运行时,它工作正常。AWS 可能有什么问题?

elastic-beanstalk aws-cli parse-server
  • 1 个回答
  • 663 Views
Martin Hope
Konstantinos Natsios
Asked: 2016-08-28 07:43:01 +0800 CST

默认情况下使用 Nginx 强制请求到应用程序服务器

  • 0

菜鸟问题在这里。

我已经在我的 Ubuntu droplet 中设置了 Parse-Server,我目前正在处理这里的一个问题。我的 ssl 来自letsencrypt

在这个文件中

/etc/nginx/sites-enabled/default

我有以下

# HTTP - redirect all requests to HTTPS
server {
    listen 80;
    listen [::]:80 default_server ipv6only=on;
    server_name example.com;
    return 301 https://$host$request_uri;
}

# HTTPS - serve HTML from /usr/share/nginx/html, proxy requests to /parse/
# through to Parse Server
server {
        listen 443;
        server_name example.com;

        root /usr/share/nginx/html;
        index index.html index.htm;

        ssl on;
        # Use certificate and key provided by Let's Encrypt:
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

        # Pass requests for /parse/ to Parse Server instance at localhost:1337
        location /parse/ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:1337/;
                proxy_ssl_session_reuse off;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }
        location /test/ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:1337/test/;
                proxy_ssl_session_reuse off;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }
        location /dashboard/ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:4040/dashboard/;
                proxy_ssl_session_reuse off;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }

        location / {
                try_files $uri $uri/ =404;
        }
}

所以以下链接工作正常

  • https://example.com/parse/
  • https://example.com/dashboard/
  • https://example.com/test/

但它们的工作原因是默认文件的代码可以正常工作。例如,我不能对解析的所有目录都这样做

  • https://example.com/parse/serverInfo/

收到 404 错误。

有没有办法让所有页面都可用而无需在default文件中配置它们?

更新

所以当我把它放在我的默认文件中时

    location /parse/ {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://localhost:1337/parse/;
            proxy_ssl_session_reuse off;
            proxy_set_header Host $http_host;
            proxy_redirect off;
    }

我没有收到 404 错误。这是因为proxy_pass http://localhost:1337/parse/它与我在此处发布的第一个文件不同。

但是我怎么能对所有的请求做到这一点呢/parse/?/something/我不能在这里创建我将在服务器内创建的所有文件夹和可能的链接。因为在这个域中,我还将建立一个网站,其中包含/assets/等,并且需要每一个。没有任何代码可以包含所有可能创建的链接吗?

nginx https parse-server
  • 1 个回答
  • 483 Views
Martin Hope
Dead-i
Asked: 2012-05-27 00:44:36 +0800 CST

在 include() 之前如何检查 PHP 中另一个 PHP 脚本的语法

  • 0

在 PHP 中,我正在制作一种动态包含一些不同 PHP 文件的机器人。由于这些 PHP 文件可能会更改,因此我希望在运行 include() 或 require() 之前检查这些文件是否存在语法/解析错误。这可能吗?如果是这样,如何?

php syntax parse-server
  • 2 个回答
  • 1372 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve