首页  >  问答  >  正文

如何为我的VPS Web服务器启用HTTPS

<p>我通过Namecheap购买了一个VPS,它的IP地址是(示例:162.0.118.14)。它运行在Ubuntu 18上,我可以使用putty或filezilla访问它。</p> <p>此外,在我的VPS上,我使用Socket.io在端口3000上托管一个网站。因此,您可以使用http://162.0.118.14:3000访问我的html文件/网站。</p> <p>同时,我通过apache2在端口80上维护一个MySQL数据库,用于登录/注册,因此我可以使用http://162.0.118.14/phpmyadmin访问phpmyadmin。</p> <p>我还从Namecheap购买了一个域名(示例:test.com)。在其DNS记录中,我为主机@创建了一个URL重定向记录,并将值设置为http://162.0.118.14(掩码)。这个配置将所有流量从域名重定向到我的Web服务器。因此,现在我可以使用http://test.com访问我的网站(之后我将其重定向到:3000)。</p> <p>然而,目前我只能使用http访问Web服务器,但我希望它能使用https工作。</p> <p>我搜索并找到了许多教程,介绍如何购买或生成证书,以使Web服务器能够使用HTTPS工作。</p> <p>因此,我现在想知道,我是否需要购买证书,还是可以自己免费生成一个证书来使HTTPS工作?另外,我如何使它与我的VPS配合工作?</p>
P粉966335669P粉966335669454 天前584

全部回复(1)我来回复

  • P粉251903163

    P粉2519031632023-08-14 09:05:38

    您可以使用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/

    回复
    0
  • 取消回复