如何为我的 VPS 网络服务器获取 HTTPS?

问题描述 投票:0回答:1

我通过Namecheap购买了一个VPS,它有IP地址(例如:162.0.118.14)。它在 Ubuntu 18 上运行,我可以使用 putty 或 filezilla 访问它。

还在我的 VPS 上,我在端口 3000 上使用 Socket.io 托管一个网站。因此您基本上可以使用 http://162.0.118.14:3000 访问我的 html 文件/网站。

同时,我通过 apache2 在端口 80 上维护一个 MySQL 数据库用于登录/注册,这样我就可以使用 http://162.0.118.14/phpmyadmin 访问 phpmyadmin。

我还从 Namecheap 购买了一个域名(例如 test.com)。在其 DNS 记录中,我为主机创建了一个 URL 重定向记录:@ 并将值设置为

http://162.0.118.14(已屏蔽)。此配置将所有流量从域重定向到我的网络服务器。所以现在我可以使用 http://test.com 访问我的网站(之后我将其重定向到 :3000)。

但是目前我只能使用 http 访问网络服务器,但我希望它能够与 https 一起使用。

我搜索并找到了许多关于如何购买或生成证书以使网络服务器使用 HTTPS 的教程。

所以现在我想知道,我是否需要购买证书,或者我可以自己免费生成一个证书来让 HTTPS 正常工作吗?另外我怎样才能让它与我的 VPS 一起工作?

html http https socket.io webserver
1个回答
0
投票
您可以使用

letsencrypt 免费生成 ssl 或从 cloudflare 获取。

如果您使用的是 nginx,那么在文档中您可以找到如何安装证书

http://nginx.org/en/docs/http/configuring_https_servers.html

如果您使用的是apache:

<VirtualHost 162.0.118.14:443> DocumentRoot /var/www/ SSL Engine on SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/cert.crt </VirtualHost>
请记住,https 在端口 443 上运行。如果您的服务器在端口 3000 上运行,则需要设置反向代理以从端口 443 指向端口 3000。

nginx 的反向代理:

https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

© www.soinside.com 2019 - 2024. All rights reserved.