首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

網站 IP 域名綁定:Nginx/Apache/Tomcat 配置域名訪問替換 IP:端口

     編輯:程式設計綜合問答

現象

域名 www.guojiaqi.me 解析到服務器 IP,但訪問後地址欄顯示 https://104.236.114.32:6060/main/,期望顯示域名路徑。

核心解決:Web 服務器配置虛擬主機 + 端口 80/443

方案一:Nginx 反向代理 (推薦)

server {
    listen 80;
    server_name www.guojiaqi.me guojiaqi.me;
    
    location / {
        proxy_pass https://127.0.0.1:6060; # 後端應用端口
        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-Forwarded-Proto $scheme;
    }
}
  • 將應用綁定在內網端口 (6060),Nginx 監聽 80/443 轉發。
  • 域名解析 A 記錄指向服務器公網 IP。
  • 瀏覽器始終顯示域名,無端口號。

方案二:Tomcat 直接部署到 ROOT + 端口 80

  1. server.xml:<Connector port="80" protocol="HTTP/1.1" /> (需 root 權限或 authbind)。
  2. 將 WAR 重命名為 ROOT.war 部署至 webapps/,訪問路徑為 /。
  3. 或配置 Context path=""。

方案三:Apache httpd 虛擬主機 + mod_proxy

<VirtualHost *:80>
    ServerName www.guojiaqi.me
    ProxyPass / https://127.0.0.1:6060/
    ProxyPassReverse / https://127.0.0.1:6060/
</VirtualHost>

關鍵點

  • 端口 80/443:瀏覽器默認隱藏,地址欄僅顯示域名路徑。
  • 反向代理:隱藏內部端口,統一入口,利於 SSL、負載均衡、靜態資源分離。
  • Host 頭傳遞:後端應用獲取真實域名,生成正確絕對鏈接。

SSL/HTTPS 升級

使用 Certbot 自動申請 Let's Encrypt 證書,Nginx 配置 listen 443 ssl,HTTP 301 重定向至 HTTPS。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved