当我尝试运行以下命令来发出一个新的私钥时,我用它来通过 SSL 托管我的 Web 应用程序:
openssl genrsa -out example.key 2048
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
unable to write 'random state'
e is 65537 (0x10001)
Run Code Online (Sandbox Code Playgroud)
在网上挖掘之后,我找到了一个解决方案,它指示您删除该~/.rnd
文件,该文件可能归root
.
sudo rm ~/.rnd
Run Code Online (Sandbox Code Playgroud)
但是,我发现~/.rnd
如果您openssl
使用sudo
.
所以我的问题是:
它是什么~/.rnd
以及为什么它存在于我的环境中?
哪个是发布新私钥的更好方法?
我正在 Google Compute Engine 上部署基于 Ghost 的 Node.js 应用程序。但是,我不确定将我的数据库凭据写入config.js
.
该config.js
文件类似于以下内容:
...
'production': {
url: 'http://127.0.0.1:2368',
database: {
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'root',
password : 'root',
database : 'ghost',
charset : 'utf8'
}
},
server: {
host: '127.0.0.1',
port: '2368'
},
},...
Run Code Online (Sandbox Code Playgroud)
但是,这包括硬编码在config.js
. 我不确定这在生产中是否足够安全。
process.env.xxx
我应该更好地使用(例如)中的环境变量设置凭据吗process.env.DB_USER
?在这种情况下,将这些环境变量写入文件并使用配置运行应用程序的最佳方法是什么?
Google Compute Engine 中同一区域的不同区域之间有哪些差异?
例如,在亚太东部地区,您可以访问台北桃园的一组不同区域。但是,它显示以下内容:
这三个区域有何不同?您如何决定在项目中使用哪个区域?
我现在在 Google Compute Engine 中通过 VM 托管我的网络应用程序,因此我了解到 GCP 还提供了一个名为Cloud DNS的 DNS 服务。但是,该服务似乎允许您在域中添加 DNS 记录,这正是您可以在流行的域卖家(例如 namecheap)控制台中执行的操作。
我也认为大多数域名卖家也提供了向域名添加记录的接口。所以我想知道人们是否有机会在另一个域名卖家购买的域名上使用 Google 的 Cloud DNS,我认为这是当前网络托管的标准。
请注意,Google 直到最近才出售域名,这让我更加困惑。
使用 Cloud DNS 的意义何在?与仅在域名卖家的网站上进行配置相比,它有哪些优势?我使用 namecheap 作为您的信息。