nginx反向代理nodejs子域

时间:2021-05-01 21:37:00

标签: node.js nginx plesk

我遇到了问题。

我在 Plesk 内部子域的 ASAN_OPTIONS=verbosity=1 ./stagefright < ==26540==AddressSanitizer: libc interceptors initialized || `[0x10007fff8000, 0x7fffffffffff]` || HighMem || || `[0x02008fff7000, 0x10007fff7fff]` || HighShadow || || `[0x00008fff7000, 0x02008fff6fff]` || ShadowGap || || `[0x00007fff8000, 0x00008fff6fff]` || LowShadow || || `[0x000000000000, 0x00007fff7fff]` || LowMem || MemToShadow(shadow): 0x00008fff7000 0x000091ff6dff 0x004091ff6e00 0x02008fff6fff redzone=16 max_redzone=2048 quarantine_size_mb=16M thread_local_quarantine_size_kb=64K malloc_context_size=30 SHADOW_SCALE: 3 SHADOW_GRANULARITY: 8 SHADOW_OFFSET: 0x7fff8000 ==26540==Installed the sigaction for signal 11 ==26540==Installed the sigaction for signal 7 ==26540==Installed the sigaction for signal 8 ==26540==T0: stack [0x7fff0d440000,0x7fff0dc40000) size 0x800000; local=0x7fff0dc3cf24 ==26540==AddressSanitizer Init done ==26540==T1: stack [0x7a56eeba8000,0x7a56eeca0d50) size 0xf8d50; local=0x7a56eeca0cd4 ==26540==T2: stack [0x7a56e8103000,0x7a56e81fbd50) size 0xf8d50; local=0x7a56e81fbcd4 上运行了一个节点应用程序。

我有子域 :3000 ; 当我导航到子域时,它会显示默认的 plesk 页面,这就是问题所在;

我尝试将节点应用程序的端口更改为 80 和 443,但这与 plesk 冲突。 我在 https://xxx.flamingocams.co.uk 上访问节点应用程序时没有问题。

现在我看到其他人尝试的唯一另一件事是反向代理;

我找到了这个 example;

https://xxx.flamingocams.co.uk:3000

我正在运行 server { listen 0.0.0.0:80; server_name xxx.flamingocams.co.uk; access_log "/var/log/nginx/xxxflam.log"; location / { proxy_pass http://127.0.0.1:3000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; 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_set_header X-NginX-Proxy true; proxy_cache_bypass $http_upgrade; } } ,所以我的问题是,我应该在哪里放置这个配置以使子域仅指向 nodejs 应用程序?

这个配置是否适合我想要实现的目标?

我对 nginx 配置几乎一无所知,抱歉

我已经检查了这个 post 并且答案说我需要添加一个配置 /etc/nginx/sites-available/yourdomain.com 但是我没有目录 Plesk Obsidian v18.0.34_build1800210325.10 os_Ubuntu 16.04

回复评论 // xxx.flamingocams.co.uk.conf

sites-available

1 个答案:

答案 0 :(得分:0)

在您的配置中,服务器仅在端口 80 上运行

  listen 0.0.0.0:80;

使用此配置,页面:http://xxx.flamingocams.co.uk 将显示您的应用程序(请求到达 NginX 代理,然后转发到端口 3000 上的 NodeJS 应用程序)。因为在端口 443 上没有任何 server 块侦听,所以会显示默认的 Plesk 屏幕。

为了让你的应用在 https 上运行,你需要在 NginX 上监听 443 端口,你还需要配置 SSL 证书

配置如下:

server {
        listen 0.0.0.0:443;
        server_name xxx.flamingocams.co.uk;
        ssl_certificate     path_to_your_ssl_certificate;
        ssl_certificate_key path_to_your_ssl_key;

        # The rest of your config is ok :)

}