我正在尝试建立一个有两个网站的服务器,一个是我的Angular+Spring启动服务器,另一个是BTCPay服务器。每个域名都不同。
在BTCPay服务器中,设置了这些环境变量:
export BTCPAY_HOST="btcpay.YourDomain.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_CRYPTO2="ltc"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_LIGHTNING="clightning"简而言之,端口443已经被BTCPay服务器占用了,我几乎没有配置。
起初,我认为这不是什么大事,我只需要把我的另一个服务器放在另一个端口1880的HTTP和3443的HTTPS。但是在交换端口之后,Letsencrypt证书将无法通过任何验证,浏览器都开始给我警告:
The certificate is not trusted because it is self-signed.
Error code: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT基于其他一些在线资源,使用Nginx的SSL连接必须使用443来验证证书,因此我的合法证书没有得到正确的验证,这就造成了问题。
有人能帮我解决这个问题吗?
是否有办法通过编辑Nginx配置来完成验证过程?
发布于 2021-02-25 19:44:49
官方文档实际上已经有了解决这个问题的解决方案,尽管对我来说还不够清楚:BTCPay服务器文档,在下,我可以使用现有的Nginx服务器作为一个反向代理,使用SSL终端?部分。
配置现有的Nginx配置文件,以便在其中添加新的服务器部分。改变后,我遇到了新的问题:
REVERSEPROXY_HTTP_PORT端口80已经采用了:这是因为当前BTCPay服务器停靠程序试图使用80作为传入端口,因此需要更改环境变量(反向代理绑定到的用于HTTP流量的公共端口(默认值: 80))。我将其更改为1880,因此在Nginx配置文件中,proxy_pass http://127.0.0.1:10080;需要更改为:proxy_pass http://127.0.0.1:1880;。
在进行此更改后,大多数问题都得到了解决,但当我试图访问https://www.example.com时,使用错误代码503进行响应。
这是因为BTCPAY_HOST环境变量已被设置为"example.com“。为了解决这个问题,我选择将Nginx文件的服务器部分中的"www.example.com“和"example.com”分开,这样https://www.example.com/将被重定向到https://example.com/。
在此之后,服务器将同时为原始服务器和BTCPay服务器工作,希望这将帮助其他遭受相同问题的人:D
https://stackoverflow.com/questions/66179567
复制相似问题