将 SSL 证书和 js 脚本合并到一个文件中

将 SSL 证书和 js 脚本合并到一个文件中

我正在尝试将从 GoDaddy 获得的 SSL 证书与我保存的 JavaScript 文件结合起来。我正尝试在端口 443 上一起运行它们。

答案1

对于普通的网络服务器来说,利用 SSL 的初始事务发生在传递任何 JavaScript 文件之前,因此在这种情况下可能无法“结合”两者。

但是,我注意到您已将此问题标记为node.js。假设您正在尝试运行某种使用 HTTPS 的 Web 应用程序,虽然它没有“组合”任何内容,但您可能需要在启动服务器之前将证书和密钥文件的位置作为变量传递给应用程序,以允许 JavaScript 文件(应用程序)将它们用于 HTTPS 事务。加载或准备这些文件以供在脚本中使用,其过程取决于您创建应用程序的方式(例如 Express.js,restify.js、自制溶液等)。

链接


使用 NGINX 进行反向代理

有人告诉我在 nginx 中设置 SSL,并将其放在主机服务器前面。但我不知道该怎么做。

这通常称为使用反向代理(其中 nginx 是代理服务器)。根据nginx 官方文档,你只需要添加类似以下内容的内容:

location /some/path/ {
    proxy_pass http://www.example.com/link/;
}

默认nginx.confHTTPS 服务器示例。因此,例如,修改默认nginx.confHTTPS 服务器块:

# HTTPS server
#
server {
    listen       443 ssl;
#   server_name  localhost;
    server_name  yourwebsite.com;

# Specify where our our certificate files are.
# If we don't specify an absolute path, nginx defaults to searching its "conf" folder

     ssl_certificate      yourwebsite.com.crt;
     ssl_certificate_key  yourwebsite.com.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
#        root   html;
#        index  index.html index.htm;

         proxy_pass http://localhost:81;
    }

请注意,eghttp://localhost:81是您的应用服务器。这不需要是 HTTPS 连接(特别是如果它在内部网络上运行或 nginx 在同一台服务器上运行时),并且理论上可以使用任何端口(不仅仅是 443)。

注意事项

  • 当使用 nginx 作为代理时,您可能需要采取一些额外的步骤(添加额外的指令)来确保数据和资源在 nginx 和您的应用服务器之间正确传递。解决此类问题可能需要进行一些额外的研究。

  • 如果应用程序 (JavaScript) 文件仅有的在端口 443 上运行,你可能需要自己修改此行为,或者设置额​​外的服务器或虚拟环境(例如虚拟盒例如),这也可能需要额外的配置或步骤。

相关内容