我无法使用VestaCP在Ubuntu VPS上运行我的应用程序。
我从端口2的服务器上的应用程序pm2开始。
在此之前,我做了一些准备工作:
1)已安装,让我们对证书进行加密
2)应用了force-https模板,以便ngnix从HTTP重定向我
VestaCP生成了2个ngnix配置-my-site.com.nginx.ssl.conf和my-site.com.nginx.conf
当我在my-site.com上运行我的网站时-出现403错误
决定很容易-我应该改变
proxy_pass https://10.223.41.249:8443;
至proxy_pass https://10.223.41.249:3000;
但是在这种情况下,我有500错误。
我真的很困惑设置...
这些是配置:
请注意,10.223.41.249是我的服务器内部IP。我想是维斯塔给的。
# my-site.com.nginx.conf
server {
listen 10.223.41.249:80;
server_name my-site.come www.my-site.com;
location / {
rewrite ^(.*) https://my-site.com$1 permanent;
}
include /home/admin/conf/web/*nginx.my-site.com.conf_letsencrypt;
}
# my-site.com.nginx.ssl.conf
server {
listen 10.223.41.249:443;
server_name my-site.com www.my-site.com;
ssl on;
ssl_certificate /home/admin/conf/web/ssl.my-site.com.pem;
ssl_certificate_key /home/admin/conf/web/ssl.my-site.com.key;
error_log /var/log/apache2/domains/my-site.com.error.log error;
location / {
proxy_pass https://10.223.41.249:3000;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|e$
root /home/admin/web/my-site.com/public_html;
access_log /var/log/apache2/domains/my-site.log combined;
access_log /var/log/apache2/domains/my-site.site.bytes bytes;
expires max;
try_files $uri @fallback;
}
}
location /error/ {
alias /home/admin/web/my-site.com/document_errors/;
}
location @fallback {
proxy_pass https://10.223.41.249:3000;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
include /home/admin/conf/web/*nginx.my-site.com.conf_letsencrypt;
include /home/admin/conf/web/snginx.my-site.com.conf*;
}
我的网络活动是
root@46:/home/admin/conf/web# sudo netstat -ltunp | grep 80
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 7804/mongod
tcp 0 0 10.223.41.249:80 0.0.0.0:* LISTEN 6225/nginx: master
tcp 0 0 10.223.41.249:8080 0.0.0.0:* LISTEN 2778/apache2
tcp 0 0 127.0.0.1:8081 0.0.0.0:* LISTEN 2778/apache2
tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 26350/nginx: master
tcp 0 0 127.0.0.1:8084 0.0.0.0:* LISTEN 6225/nginx: master
root@46:/home/admin/conf/web# sudo netstat -ltunp | grep 443
tcp 0 0 10.223.41.249:443 0.0.0.0:* LISTEN 6225/nginx: master
tcp 0 0 10.223.41.249:8443 0.0.0.0:* LISTEN 2778/apache2
root@46:/home/admin/conf/web# sudo netstat -ltunp | grep 8443
tcp 0 0 10.223.41.249:8443 0.0.0.0:* LISTEN 2778/apache2
root@46:/home/admin/conf/web# sudo netstat -ltunp | grep 3000
tcp6 0 0 :::3000 :::* LISTEN 2146/node
root@46:/home/admin/conf/web#
希望,这会有所帮助
我的应用程序中还有一个配置。我不确定,但我也怀疑
module.exports = {
'process.env.BASE_URL': prod
? 'https://my-site.com'
: 'http://localhost:3000'
};