我想向我的postgrestweb服务器发出https请求,它的设计不支持https。我花了几天时间,现在我不知道任何进一步的...
我的设定
- 我的服务器运行的是CentOS 7.9.2009
- 我有一个网站域,使用WordPress来提供我的内容在
home/myuser/public_html
- 我在运行于端口3000的服务器上安装了PostgREST 7.0.1
- 我正在运行Apache/2.4.51(cPanel)
我的问题 - 下面的请求可以正常工作:
http://my-domain.com:3000/my_db_table
个 - 我想运行相同的请求,如下所示:
https://my-domain.com/api/my_db_table
- 我的Apache配置在一个“includes”文件中,看起来是加载的(因为当我故意在这个文件中放入错误的语法时会出现错误),它看起来像这样:
<VirtualHost *:443>
DocumentRoot /
ServerName my-domain.com
ServerAlias my-domain
ErrorLog /home/myuser/public_html/api/error.log
CustomLog /home/myuser/public_html/api/access.log combined
SSLEngine on
SSLUseStapling off
SSLCertificateFile /etc/ssl/certs/server.my-domain.com.crt
SSLCertificateKeyFile /etc/ssl/private/server.my-domain.com.key
<Location /api/ >
ProxyPreserveHost On
ProxyPass http://localhost:3000/
ProxyPassReverse http://localhost:3000/
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
</Location>
</VirtualHost>
- 执行
httpd -t
会传回Syntax OK
- 更改后运行
sudo systemctl restart httpd
- 当我尝试做一个请求,如
curl -i https://my-domain.com/api/my_db_table
,我被重定向到我的WordPress网站的404页面 - 我的apache配置的
error.log
文件不包括任何错误(它包括装订错误,我通过在我的配置中添加SSLUseStapling off
行来解决)
我不知道该怎么做了。因为我没有任何错误日志,我甚至不知道如何开始调试它。我会很高兴有人能给我任何提示。
1条答案
按热度按时间niknxzdl1#
我已经成功地将https与postgrest一起使用,并在virtuahost部分进行了以下设置,但我没有使用标记。