簡體   English   中英

為 AWS 上托管的 Node.js 應用程序設置 DNS 轉發

[英]Setting up DNS forwarding for Node.js app hosted on AWS

我能夠設置 DNS 從我在 NameCheap 注冊的域到我在 AWS EC2 實例上托管的 Node.js 站點的轉發。 但是,我必須在 URL 上添加:3000 端口號才能查看我的站點。 顯然,我寧願不必 append 端口號,所以我開始研究這個,看起來我需要在我的 AWS 服務器上使用 NGINX 設置反向代理。 我有幾個問題希望得到人們的反饋。

  1. 在我的 AWS EC2 服務器上使用 NGINX 作為反向代理是最佳解決方案嗎?
  2. 我是否應該在我的本地環境中執行相同的操作,以便從 Git 拉出時所有配置都准備就緒,或者我是否應該僅在我的 AWS 環境中使用 NGINX 並以不同的方式運行它以用於生產? 我使用 Windows 進行本地開發,而 NGINX 設置似乎更適合 Linux。

大多數常見的應用程序都能夠作為 web 服務器自行運行,但 Nginx 網絡服務器能夠從這些功能中提供以下主要優勢:

  • 負載均衡
  • 提高安全性
  • 更好的性能
  • 輕松記錄和審核
  • 加密連接

如果你已經在你的服務器中安裝了 nginx 和 nodejs,你可以像這樣配置你的反向代理:

打開“默認”配置文件:

sudo nano /etc/nginx/sites-available/default

在那里編寫適當的配置:

server {
        # optional
        client_max_body_size 30M;
        listen 80 default_server;
        listen [::]:80 default_server;

        # some static directory path
        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        # You can leave this _
        # server_name _;
        # but if you have already connected your domain with your server:
        server_name example.com www.example.com;

        location / {
                proxy_pass http://localhost:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

確保您在上次更改后成功測試了您的配置:

sudo nginx -t

重啟Nginx

sudo service nginx restart
# or
sudo systemctl restart nginx

運行您的應用程序並檢查網站。 希望它會起作用,如果有任何問題,請在您的評論中告訴我。

關於本地環境:無需做任何事情。 您可以像以前一樣處理您的項目。 對當地無事可做。 只需將其連接到遠程 git 源並在進行任何更改后重新啟動您的節點服務器。 通過 CI/CD 管道將服務器項目與遠程源連接是一種很好的做法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM