欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > Linux中通过nginx代理域名并配置SSL证书

Linux中通过nginx代理域名并配置SSL证书

2025/2/25 0:06:39 来源:https://blog.csdn.net/m0_44980168/article/details/144326572  浏览:    关键词:Linux中通过nginx代理域名并配置SSL证书

Linux中通过Nginx代理域名

1.首先要找到nginx的安装目录,找到nginx.conf配置文件
在这里插入图片描述
2.可已经此配置文件进行复制备份,命令:cp nginx.conf nginx.conf.20241207,命令解析:
nginx 当前文件名 复制后的文件名
3.然后执行sz nginx.conf将文件导出到我们电脑本地,方便修改。
4. 然后我们找到server域进行以下修改
在这里插入图片描述
实例代码:

server {listen       80; #要监听的端口server_name  ailibrary.fun; #自己的域名#把http的域名请求转成httpsreturn 301 https://$host$request_uri; location / {root   /home/xyh/project/xiyunhai/vue;  # 将此路径替换为你实际的Vue项目构建后静态文件所在目录,例如/home/user/ailibrary/distindex  index.html index.htm;try_files $uri $uri/ /index.html;  # 用于处理Vue项目的路由模式,确保刷新页面时能正确加载页面}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /srv/iperror;  # 这里可以自定义错误页面所在的根目录,也可根据实际需求调整}}

5.配置好后,最后将文件再上传回去命令:rz
6.重启nginx,命令:
Ubuntu 系统:使用命令

 sudo systemctl restart nginx

CentOS 系统:执行命令

 sudo service nginx restart

7.查看nginx是否已经启动,可以使用ps命令来查看是否有 Nginx 相关的进程在运行。

ps -ef | grep nginx

8.这时候我们就可以在页面通过域名进行访问了

在Nginx中配置SSL证书

腾讯云ssl证书部署API:https://www.tencentcloud.com/zh/document/product/1007/30954
1.首先需要手动进行部署ssl证书,去下载ssl证书
在这里插入图片描述
2.然后对下载的文件解压,需要将已获取到的 cloud.tencent.com_bundle.crt 证书文件和cloud.tencent.com.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /etc/nginx 目录(此处为 Nginx 默认安装目录,请根据实际情况操作)下。
如找不到以下内容,可以手动添加。可执行命令 nginx -t ,找到nginx的配置文件路径。
如下图示例:
在这里插入图片描述
此操作可通过执行 vim /etc/nginx/nginx.conf 命令行编辑该文件。
腾讯云示例代码:

server {#SSL 默认访问端口号为 443listen 443 ssl; #请填写绑定证书的域名server_name cloud.tencent.com; #请填写证书文件的相对路径或绝对路径ssl_certificate cloud.tencent.com_bundle.crt; #请填写私钥文件的相对路径或绝对路径ssl_certificate_key cloud.tencent.com.key; ssl_session_timeout 5m;#请按照以下协议配置ssl_protocols TLSv1.2 TLSv1.3; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;location / {#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。root html; index  index.html index.htm;}}

本机自己的示例代码:

server {#SSL 默认访问端口号为 443listen 443 ssl; #请填写绑定证书的域名server_name ailibrary.fun; #请填写证书文件的相对路径或绝对路径ssl_certificate ailibrary.fun_bundle.crt; #请填写私钥文件的相对路径或绝对路径ssl_certificate_key ailibrary.fun.key; ssl_session_timeout 5m;#请按照以下协议配置ssl_protocols TLSv1.2 TLSv1.3; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;location / {#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。root /home/xyh/project/xiyunhai/vue; index  index.html index.htm;}}

3.编辑完成后通过一下命令验证配置文件是否有问题

nginx -t

4.通过执行以下命令重载 Nginx。

nginx -s reload

将 HTTP 请求自动重定向到 HTTPS

在页面中添加 JS 脚本。
在后端程序中添加重定向。
通过 Web 服务器实现跳转。
Nginx 支持 rewrite 功能。若您在编译时没有去掉 pcre,您可在 HTTP 的 server 中增加 return 301 https:// h o s t host hostrequest_uri;,即可将默认80端口的请求重定向为 HTTPS。修改如下内容:
腾讯云示例代码:

  server {#SSL 默认访问端口号为 443listen 443 ssl;#请填写绑定证书的域名server_name cloud.tencent.com; #请填写证书文件的相对路径或绝对路径ssl_certificate  cloud.tencent.com_bundle.crt; #请填写私钥文件的相对路径或绝对路径ssl_certificate_key cloud.tencent.com.key; ssl_session_timeout 5m;#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#请按照以下协议配置ssl_protocols TLSv1.2 TLSv1.3;ssl_prefer_server_ciphers on;location / {#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。root html;index index.html index.htm;}}server {listen 80;#请填写绑定证书的域名server_name cloud.tencent.com; #把http的域名请求转成httpsreturn 301 https://$host$request_uri; }

主要添加的内容看一下示例图:
在这里插入图片描述
本机自己的示例代码:

server {listen       80;server_name  ailibrary.fun;#把http的域名请求转成httpsreturn 301 https://$host$request_uri; location / {root   /home/xyh/project/xiyunhai/vue;  # 将此路径替换为你实际的Vue项目构建后静态文件所在目录,例如/home/user/ailibrary/distindex  index.html index.htm;try_files $uri $uri/ /index.html;  # 用于处理Vue项目的路由模式,确保刷新页面时能正确加载页面}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /srv/iperror;  # 这里可以自定义错误页面所在的根目录,也可根据实际需求调整}}

2.通过执行以下命令验证配置文件问题。

nginx -t

3.通过执行以下命令重载 Nginx。

nginx -s reload

4.重载成功后就可以通过域名进行访问了

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词