【发布时间】:2017-05-10 05:25:45
【问题描述】:
我正在 Ubuntu 服务器上制作我的第一个 go 应用程序。当我使用可执行文件或简单地运行 main.go 运行服务器时,我得到了要呈现的初始 html 页面,但没有 css、图像或 js。这些路线也将我带到了 404 页面。唯一似乎通过的是 index.html(它被命名为 index.gohtml 作为 go 的模板)
当我在 localhost 和服务器上的 ip:port 配置上运行它时,我的所有资产都已加载,但是当我使用 nginx 时,资产根本没有加载。由于这些因素,我假设 nginx 是我遇到问题的地方。
以下是我目前所拥有的。这是我第一次使用 nginx,所以我不知道正确配置它需要什么。
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8001;
try_files $uri $uri/ =404;
}
}
【问题讨论】:
-
您的文件的链接是否在没有 nginx 代理的情况下工作?您的索引模板的生成代码是什么?这是看文件的 URL 是什么。另外,如果您的应用程序在没有任何外部资源的情况下为漏洞站点提供服务,则不必设置
root、index和try_files -
文件在没有 nginx 代理的情况下加载。 index 中的 refs 指向索引位置的静态文件。我有需要加载的图像、JS 和 CSS。
标签: html nginx go static-files