互联网
云服务器的nginx反向代理oss中的文件
2025-03-06 反向代理, nginx
来源:汇喜乐
在云服务器上搭建Nginx反向代理服务器,然后关联oss中的文件,这样只需通过访问服务器公网IP的80端口(或者绑定域名),即可访问oss中的Bucket中的文件,从而实现通过固定IP或者域名访问OSS资源的需求。
特别是目前的阿里云ECS云服务器和对象存储oss在同一地域时,两者可以免流量费,从而给服务器减轻了压力。
以阿里云轻量应用服务器为例,2核CPU,4G内存,操作系统 Ubuntu 22.04,已经通过宝塔面板安装了(web环境):Nginx 1.27.1。
因OSS的安全设置,当使用默认域名通过浏览器访问OSS中的图片或网页文件时,会直接下载。所以通过浏览器预览Bucket中的图片或网页文件,需为Bucket绑定自定义域名,并在proxy_pass中填写已绑定的域名。
配置Nginx
对于不同场景,您可以参考以下代码按您的业务场景修改nginx.conf文件中的HTTP模块。
server {
listen 80;
server_name 47.**.**.73;
location / {
proxy_pass http://这里填写oss的内部域名;
proxy_http_version 1.1;
proxy_set_header Host 这里填写oss的内部域名;
proxy_connect_timeout 15s;
proxy_read_timeout 15s;
proxy_send_timeout 15s;
proxy_set_header Connection "";
proxy_buffering off;
proxy_request_buffering off;
}
}
请注意:
- 将 47.**.**.73 替换为你的实际服务器IP地址。
- 将 这里填写oss的内部域名 替换为你的OSS内部域名。
- 确保Nginx配置文件语法正确后重新加载Nginx使配置生效。
Nginx开启服务器端包含SSI后html文件引用另外一个html文件
2025-03-06 SSI, Nginx服务器端包含
来源:汇喜乐
利用Nginx的服务器端包含功能(SSI),大大的减少了在制作网站时的重复工作,比如网页导航,头部,底部等等共同内容的重复编辑。
特别是目前的阿里云ECS云服务器和对象存储oss在同一地域时,两者可以免流量费,从而给服务器减轻了压力。
购买服务器后,首先要安装Nginx和其他web环境软件。
可以利用宝塔面板在当前网站的Nginx配置文件中开启SSI
配置Nginx
server
{
#在server里面开启应该更好
#启用 SSI 并隐藏错误信息
ssi on;
ssi_silent_errors on; #如果引用的文件报错时,在显示页面隐藏 SSI 错误信息
ssi_types text/html; #指定text/html文件 MIME 类型支持 SSI
}
在html页面中的应用
<!--# include file="included.html" -->
# included.html就是要引用的文件的文件名
关联知识
如果是php页面,可以使用下面方法
require 语法
<?php require 'included.php'; ?>
【推荐】使用 require 语法:类似于 include,但若指定的文件无法访问或包含错误,require 会生成一个致命错误(E_COMPILE_ERROR),停止脚本的继续执行。
include 语法
<?php include 'included.php'; ?>
这个语句会在执行到此处时尝试包含并运行指定文件中的代码。如果文件不存在或者包含错误,会生成一个警告,但是脚本将继续执行。