【发布时间】:2014-08-06 19:00:50
【问题描述】:
我正在尝试将 nginx 配置为:
http://www.domain.tld --> https://domain.tld
http://domain.tld --> https://domain.tld
http://api.domain.tld --> https://api.domain.tld
“www”-webroot 服务于静态 HTML (AngularJS),而 API 服务于一个 Node.JS 应用程序,该应用程序应该从 localhost:3000“上游”。我想我的方向是正确的,但它似乎对我不起作用。到目前为止,这是我所得到的:
upstream api_server {
server localhost:3000;
keepalive 64;
}
server {
listen 80;
server_name api.domain.tld;
return 301 https://api.domain.tld$request_uri;
}
server {
listen 80;
server_name *.domain.tld www.domain.tld;
return 301 https://domain.tld$request_uri;
}
server {
listen 443 ssl;
server_name api.domain.tld;
ssl_certificate /etc/ssl/ssl_cert.crt;
ssl_certificate_key /etc/ssl/ssl_key.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://api_server/;
proxy_redirect off;
}
server {
listen 443 ssl;
server_name *.domain.tld www.domain.tld;
ssl_certificate /etc/ssl/ssl_cert.crt;
ssl_certificate_key /etc/ssl/ssl_key.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
root /var/www/webroot/;
}
现在这些都在我的/etc/nginx/conf.d/domain.tld.conf 文件中。
任何帮助将不胜感激。
编辑:
我自己弄明白了(得到了 Tan Hong Tat 的一点帮助),所以这个例子已经更新了。
如果您有任何改进,请告诉我,我会更新它。
【问题讨论】:
-
可能有用的是说我使用了 nginx 网站上的一些模板,但也许这是我一开始的错误。但是 nginx 重新加载说'OK'......
标签: node.js angularjs ubuntu nginx