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.重载成功后就可以通过域名进行访问了