首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Nginx配置为在443已被其他进程占用的情况下工作?

如何将Nginx配置为在443已被其他进程占用的情况下工作?
EN

Stack Overflow用户
提问于 2021-02-12 21:57:47
回答 1查看 803关注 0票数 0

我正在尝试建立一个有两个网站的服务器,一个是我的Angular+Spring启动服务器,另一个是BTCPay服务器。每个域名都不同。

在BTCPay服务器中,设置了这些环境变量:

代码语言:javascript
复制
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证书将无法通过任何验证,浏览器都开始给我警告:

代码语言:javascript
复制
The certificate is not trusted because it is self-signed.
 
Error code: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT

基于其他一些在线资源,使用Nginx的SSL连接必须使用443来验证证书,因此我的合法证书没有得到正确的验证,这就造成了问题。

有人能帮我解决这个问题吗?

是否有办法通过编辑Nginx配置来完成验证过程?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

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

https://stackoverflow.com/questions/66179567

复制
相关文章

相似问题

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