Nginx 从同一台机器为两个网站提供服务
我正在寻找服务器两个网站从同一台机器,也许通过nginx。目前,我有一个运行在nginx后面的内部Flask服务器,所有这些服务器都运行在一个装有Ubuntu18的盒子上 nginx服务器设置如下:Nginx 从同一台机器为两个网站提供服务,nginx,server,Nginx,Server,我正在寻找服务器两个网站从同一台机器,也许通过nginx。目前,我有一个运行在nginx后面的内部Flask服务器,所有这些服务器都运行在一个装有Ubuntu18的盒子上 nginx服务器设置如下: server { # listen on port 80 (http) listen 80; server_name _; location / { # redirect any requests to the same URL but on http
server {
# listen on port 80 (http)
listen 80;
server_name _;
location / {
# redirect any requests to the same URL but on https
return 301 https://$host$request_uri;
}
}
server {
# listen on port 443 (https)
listen 443 ssl;
server_name _;
# location of the self-signed SSL certificate
ssl_certificate /home/ubuntu/certs/cert.pem;
ssl_certificate_key /home/ubuntu/certs/key.pem;
access_log /var/log/access.log;
error_log /var/log/error.log;
location / {
# forward application requests to the internal server
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我没有与此IP关联的域,因此我通常通过访问例如(不是真正的IP)来访问该框。这个很好用
我想启动另一台Flask服务器,在同一台机器上运行一个完全独立的应用程序
两个问题:
但这似乎不起作用-转到不返回任何内容(甚至不返回nginx坏网关页面),页面只是超时。如果要使用
https
则需要使用listen 8001 ssl代码>-但如果连接超时,可能中间有一个防火墙,只允许常规端口(80和443)通过。
server {
listen 8001;
server_name _;
# location of the self-signed SSL certificate
ssl_certificate /home/ubuntu/certs/cert.pem;
ssl_certificate_key /home/ubuntu/certs/key.pem;
access_log /var/log/access1.log;
error_log /var/log/error1.log;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}