Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 如何为我的golang应用程序获取SSL证书?_Security_Go_Ssl - Fatal编程技术网

Security 如何为我的golang应用程序获取SSL证书?

Security 如何为我的golang应用程序获取SSL证书?,security,go,ssl,Security,Go,Ssl,我目前正在构建一个应用程序,我希望确保在整个应用程序中使用HTTPS。该应用程序是Golang的一个web应用程序,我想知道如何获得合法证书,以便我的应用程序能够安全。好吧,您有一些选择。我发现获取可信证书很容易,但是有很多其他方法可以做到这一点。您也可以使用它,但它需要安装几个依赖项。我认为这取决于应用程序的部署方式 将应用程序作为systemd服务托管在VPS/专用服务器上 如果希望自动管理SSL续订,您可以研究一下。但仍然需要将证书提供到应用程序中,或者使用HTTP代理(如NGINX)在H

我目前正在构建一个应用程序,我希望确保在整个应用程序中使用HTTPS。该应用程序是Golang的一个web应用程序,我想知道如何获得合法证书,以便我的应用程序能够安全。

好吧,您有一些选择。我发现获取可信证书很容易,但是有很多其他方法可以做到这一点。您也可以使用它,但它需要安装几个依赖项。

我认为这取决于应用程序的部署方式

将应用程序作为systemd服务托管在VPS/专用服务器上

如果希望自动管理SSL续订,您可以研究一下。但仍然需要将证书提供到应用程序中,或者使用HTTP代理(如NGINX)在HTTPS上公开应用程序

这种方法是可行的,但可能会很痛苦,因为您需要在服务器上安装/管理Certbot&可能是Nginx

另一个好的选择是使用,它是一个具有内置支持的代理服务器,这样您就可以使用免费的SSL自动更新,只需安装服务并创建一个小的配置文件


我个人会选择外部代理方法,尤其是Traefik。管理HTTPS不应该是web应用程序的工作,而应该是一个外部代理。因此,如果有一天您需要扩展应用程序,这应该不会很痛苦。

如果您正在获得FQDN的证书,您可以使用Letusencrypt,它提供了许多客户端支持,包括certbot。你可以在这里找到它
但是请记住,如果没有fqdn,它将无法工作。

我正计划将应用程序部署到AWS,并在AWS服务上运行。然后,也许您应该研究一下AWS证书管理器,这可能是从应用程序本身管理它的最简单方法;但是,正如一些答案所提到的,有许多代理和外部工具可用,如果您的需求足够简单,那么这些就足够了。