Node.js Nodejs中的HTTPS问题和角度端口冲突
我正在为运行在Apache上的Angular+node应用程序安装SSL证书。我已经生成了密钥CSR,并在GoDaddy购买了证书,一切正常 我在Apache中安装了它,并为80和443配置了VirtualHost。当通过https进入时,网站会重定向 当我的web应用试图通过访问节点服务器时,就会出现问题。这将返回html,而不是点击节点服务器并获取我的数据库信息。如果我使用IP而不是域来点击它,它工作得很好,因为我可以指定端口,但是它会给我一个错误,因为证书无法验证(因为IP与证书的域不匹配,这是有意义的) 这是因为https使用的是端口443,我的Angular应用程序在端口443中运行,而我的节点服务器在端口8443中运行。当我指向8443 vs Angular应用程序中的节点服务器时,如何做到这一点?可以在这两个应用程序中共享域吗?(我只买了1个SSL证书)。我应该在虚拟主机中更改此选项吗?怎么做 我想澄清的是,在转向https之前,http中的一切都工作得很好Node.js Nodejs中的HTTPS问题和角度端口冲突,node.js,angular,express,ssl,dns,Node.js,Angular,Express,Ssl,Dns,我正在为运行在Apache上的Angular+node应用程序安装SSL证书。我已经生成了密钥CSR,并在GoDaddy购买了证书,一切正常 我在Apache中安装了它,并为80和443配置了VirtualHost。当通过https进入时,网站会重定向 当我的web应用试图通过访问节点服务器时,就会出现问题。这将返回html,而不是点击节点服务器并获取我的数据库信息。如果我使用IP而不是域来点击它,它工作得很好,因为我可以指定端口,但是它会给我一个错误,因为证书无法验证(因为IP与证书的域不匹配
<VirtualHost *:80>
ServerName mydomain
#Redirect / https://mydomain/
</VirtualHost>
<VirtualHost *:443>
ServerName mydomain
SSLEngine on
SSLCertificateFile /etc/ssl/private/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCACertificateFile /etc/ssl/private/server.crt
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
总之,我需要服务器和web都通过https运行,我只有一个域,我很难理解在每种情况下应该如何引用端口
编辑:我一直在寻找,发现这可能是我想要的,但不起作用:
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /api https://myip:8443/api
ProxyPassReverse /api https://myip:8443/api
我真的很感激这里有一些关于良好实践的建议
提前非常感谢 如果有人遇到这种情况,我使用代理解决,下面是完整的虚拟主机:
<VirtualHost *:443>
SSLProxyEngine on
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /api https://myip/api
ProxyPassReverse /api https://myip/api
</VirtualHost>
SSLProxyEngine打开
代理主机
代理请求关闭
ProxyPass/apihttps://myip/api
ProxyPassReverse/apihttps://myip/api
<VirtualHost *:443>
SSLProxyEngine on
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /api https://myip/api
ProxyPassReverse /api https://myip/api
</VirtualHost>