之前,我一直习惯使用外网服务器上的宝塔面板来实现网站的反向代理功能。然而,在尝试为网站设置防盗链等自定义Nginx配置时,我发现宝塔面板生成的配置文件直接编辑较为困难,且通过其自定义配置功能生成的代码也显得有些冗余和不够直观。 恰好,我内网的服务器早已换上了1Panel面板,并且使用体验相当不错,感觉在灵活性和功能性上比宝塔面板更胜一筹。于是,我决定将外网服务器也进行系统重装,并部署了1Panel。随后,我在新的1Panel环境中安装了FRPS(FRP服务端)应用和OpenResty应用。 通过FRPS的HTTP(S)内网穿透功能,结合OpenResty反向代理,将内网的网站服务暴露到公网,并利用1Panel自动SSL证书续签功能,实现了预期的HTTPS访问。整个配置过程非常直观。 然而,在迁移完成后,一个意想不到的问题出现了:现在的这个网站(其他网站均正常)虽然可以通过HTTPS访问,但其CSS和JS等静态资源却无法正确加载。通过浏览器开发者工具查看,发现这些资源的URL仍然是HTTP协议,导致在HTTPS页面下因“混合内容(Mixed Content)”而被浏览器阻止加载。 奇怪的是,这个问题在迁移前(使用宝塔面板时)并未发生。考虑到这个出问题的网站是基于Typecho博客程序搭建的,而其他网站并非如此,我推测问题可能出在Typecho本身与新环境的适配上。 后来,找到了一个针对Typecho的简单解决方案。具体操作如下: 打开Typecho网站的根目录,找到并编辑 `config.inc.php` 文件,在其中添加以下一行代码: ```php /** 开启HTTPS */ define('__TYPECHO_SECURE__', true); ``` 这行代码的作用是显式告知Typecho当前站点已启用HTTPS。在此之前,我的配置文件中确实没有这行设置。 保存修改后,再次访问网站,CSS和JS资源均已通过HTTPS正确加载,问题解决 Loading... 之前,我一直习惯使用外网服务器上的宝塔面板来实现网站的反向代理功能。然而,在尝试为网站设置防盗链等自定义Nginx配置时,我发现宝塔面板生成的配置文件直接编辑较为困难,且通过其自定义配置功能生成的代码也显得有些冗余和不够直观。 恰好,我内网的服务器早已换上了1Panel面板,并且使用体验相当不错,感觉在灵活性和功能性上比宝塔面板更胜一筹。于是,我决定将外网服务器也进行系统重装,并部署了1Panel。随后,我在新的1Panel环境中安装了FRPS(FRP服务端)应用和OpenResty应用。 通过FRPS的HTTP(S)内网穿透功能,结合OpenResty反向代理,将内网的网站服务暴露到公网,并利用1Panel自动SSL证书续签功能,实现了预期的HTTPS访问。整个配置过程非常直观。 然而,在迁移完成后,一个意想不到的问题出现了:现在的这个网站(其他网站均正常)虽然可以通过HTTPS访问,但其CSS和JS等静态资源却无法正确加载。通过浏览器开发者工具查看,发现这些资源的URL仍然是HTTP协议,导致在HTTPS页面下因“混合内容(Mixed Content)”而被浏览器阻止加载。 奇怪的是,这个问题在迁移前(使用宝塔面板时)并未发生。考虑到这个出问题的网站是基于Typecho博客程序搭建的,而其他网站并非如此,我推测问题可能出在Typecho本身与新环境的适配上。 后来,找到了一个针对Typecho的简单解决方案。具体操作如下: 打开Typecho网站的根目录,找到并编辑 `config.inc.php` 文件,在其中添加以下一行代码: ```php /** 开启HTTPS */ define('__TYPECHO_SECURE__', true); ``` 这行代码的作用是显式告知Typecho当前站点已启用HTTPS。在此之前,我的配置文件中确实没有这行设置。 保存修改后,再次访问网站,CSS和JS资源均已通过HTTPS正确加载,问题解决 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏