node.js - Le proxy inverse nginx de configuration AWS ne prend pas effet
世界只因有你
世界只因有你 2017-05-16 13:36:48
0
2
556

Je viens d'acheter un serveur Amazon. Après avoir installé nginx, je souhaite accéder au port spécifié par le serveur via le nom de domaine pour accéder aux différents services,

Modifiez le fichier nginx.conf et configurez un proxy inverse :


#user  nobody;
worker_processes 1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events
{
    worker_connections 1024;
}


http
{
    include mime.types;
    default_type application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;
    sendfile on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout 65;

    #gzip  on;

    server
    {
        listen 80;
        server_name localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location /
        {
            root html;
            index index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html
        {
            root html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

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

    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.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;
    #    }
    #}

    include servers/*.conf;
}

Principalement ajouté include servers/*.conf;,在相应的目录下增加conf文件,名字为domainname.com.conf à la fin, contenu du fichier :

upstream testproject
{
    server localhost:8080;
}

server
{
    listen 80;
    server_name domainname.com;

    # send request back to apache ##
    location / {
        proxy_pass http://testproject;

        #Proxy Settings
        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;
        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0;
        proxy_connect_timeout 90;
        proxy_send_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }
}

Une fois le paramétrage terminé, redémarrez le serveur :

sudo /path/to/nginx -s reload

Adresse d'accèsdomainname.comLa page est la suivante :

Le résultat n'est pas le résultat attendu. En théorie, il devrait sauter au port 8080的服务器的,但是却没有。请求哪位大神可以指点下?
另外我想直接通过杀死进程的方式重启,执行命令netstat -apn | grep 80, saisissez comme suit :

Qu'est-ce que cela signifie ? Comment trouver le pid du processus en écoute sur le port 80 ?

世界只因有你
世界只因有你

répondre à tous(2)
为情所困

Vous ne l'avez vu sur aucun des serveurslisten 8080;

伊谢尔伦
server {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
}

Redémarrez le serveur, pas rechargez

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal