VueBloghyhero6

关于博客,我做了域名解析的一些操作

2023-11-22 / 2023-11-22 / 1129次浏览

最近发现腾讯云的 域名真的是白菜价格,于是我这个搞了地址

就是 hyvlog.fun

然后在上个页面点击解析位置,然后点击快速解析。

申请了腾讯云的免费的https ,因为有时效一年的免费证书,所以去做了申请,是这样滴

它告诉我审核通过了

`但是拿了证书还需要进行SSL 部署,我使用了官方推荐的宝塔部署,但是失败了,现在准备二次尝试手动进行部署

去我的证书里面手动下载 nginx 证书

宝塔的 nginx 配置有一个缺点就是没有任何根 nginx 好多都是动态的,所以还是继续使用宝塔部署SSL,就是
https 配置
https://cloud.tencent.com/document/product/400/50874
腾讯云写了很多的配置介绍
`

然后在宝塔里面尝试进行反向代理

就是 我去反向代理地址 http://198.13.53.244:3000/

域名成功挂起, 但是这时候报错了,有个概念是SSL 终止,我也是参照nginx 走了一圈

本质上来说还是 请求的问题, 而 SSL 终止的 示例图是下面这样的

这只是一个示例文档,当然解决方向好像不对。

这里我的解决思路进入了一个误区,就是我的这个想给 pm2 的一个服务挂上 HTTPS, 结果就查到了如下文档

首先,你需要确保你已经获得了有效的SSL证书文件(包括证书和密钥文件)。然后,你可以按照以下步骤来配置PM2和Nginx使用同一套证书:

将SSL证书文件(包括证书和密钥)复制到你的服务器上的一个安全路径下。

配置PM2服务使用HTTPS。可以通过在PM2启动脚本中添加--https参数来指定证书和密钥的路径,例如:

pm2 start app.js --name=myapp --https --cert=/path/to/certificate.crt --key=/path/to/privatekey.key

配置Nginx使用HTTPS反向代理到PM2服务。在Nginx的配置文件中,找到针对你的域名的服务器块,并将其配置为反向代理到PM2服务的HTTPS端口,例如:

server {
listen 443;
server_name yourdomain.com;

ssl on;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/privatekey.key;

location / {
    proxy_pass http://localhost:3000;  # 假设PM2服务监听在3000端口
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

}

重启Nginx和PM2服务,使配置生效。

通过这样的配置,PM2和Nginx将共享同一套SSL证书,从而实现一致的HTTPS加密访问。请确保证书和密钥文件的路径正确,并根据实际情况进行相应的配置修改。

写一个最终终结吧 问题是出现在 我的思想错了, SSL 终止 Nginx反向代理做的并没有错,错的是我自己这边, 因为 server 和 page 页面是一起的也就是使用一体化部署,我请求线上IP 的思路一直没有转换过来, nginx https 不能请求 内置不能请求 http 的这个思路给我带偏了。 我一直在 纠结 http://198.13.53.244:3000/ 这个http 的服务。 想着变成 https 的服务 从思路上讲这就偏要了,不应该这样设置, 从前后分离的角度思考来说,我既然是一个前后分离的框架,那么到线上自然应该请求线上域名,尤其是Nginx做了方向代理的情况下,那么 最终更新配置文件的请求文件就能解决这个问题,

所以最后我更新了我的本地启动环境端口 和 线下端口的配置。

app: { domain: 'https://www.hyvlog.fun', host: '198.13.53.244', port: 3000, routerBaseApi: 'api' }

所以在代码的效果也就生效了 if (process.env.NODE_ENV === 'production' && globalConfig.app.domain) { host =${globalConfig.app.domain}/${globalConfig.app.routerBaseApi}} else { host =http://${globalConfig.app.host}:${globalConfig.app.port}/${globalConfig.app.routerBaseApi}} return host