1. 程式人生 > >微信開發-坑爹的80埠對映之nginx

微信開發-坑爹的80埠對映之nginx

測試開發時,用的ngrok對映到本地ip+自定義埠,開發到了網頁授權階段,地址被發現沒有備案,瞬間被禁了。改用了花錢買了的natapp對映地址。開發完畢後,準備正式上線了。

正式上線使用的是阿里雲ECS,域名也是買的阿里雲,使用的阿里雲DNS解析,之前沒有做過域名解析,用了阿里雲的DNS解析更是坑的吐血。先吐槽一下自己遇到的坑,讓看到部落格的人可以少走彎路。

微信的介面配置URL只支援80埠,由於專案的80埠不可用,必須換埠,之前的ngrok和natapp自定義的埠都可以使用,所以準備配置一個域名裡面包括埠號的。正巧阿里雲可以配置隱式轉發,也就是把我的ip:xxx.x.x.xxx:8990  配置成 http://xx.xxxx.com ,簡單的以為配置之後後面再新增專案和微信的請求地址就可以了。但是阿里雲的DNS怎麼都解析不好,訪問的地址不對,後面加什麼都不能訪問到我想要的地址。打電話諮詢了客服,客服說我配置的對,但是訪問就是不對,讓我提交工單。上下等了快一天,那技術才告訴我,阿里雲根本不支援。阿里雲的隱式轉發壓根就是擺設,僅僅只是可以把長的地址變成短的,而且變短之後的地址什麼引數都不可以加。說的直白點就是短的地址+/專案地址  是不可以訪問的。醉了。

好了,墨跡一堆進入正題。我是使用的nginx工具,官網下載http://nginx.org/en/download.html  我的伺服器是windows,所以我下載的是穩定版nginx/Windows-1.12.2。工具我上傳了,方便大家下載。不需要安裝,解壓就用。

nginx需要配置nginx-1.12.2/conf目錄下的nginx.conf檔案。開啟檔案把我貼的全部覆蓋原來的就行。

server下的結點代表,可以新增多個server:
listen:監聽80埠
server_name:轉發到哪個地址
proxy_pass:代理到哪個地址

------------------------------------------------------------nginx.conf配置程式碼---------------------

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  127.0.0.1:8990;
        location / {
            proxy_pass   http://127.0.0.1:8990;
        }
    }
}

---------------------------------------------------------------配置檔案結束-----------------------------
注意不要直接雙擊nginx.exe,這樣會導致修改配置後重啟、停止nginx無效,需要手動關閉工作管理員內的所有nginx程序.
在nginx.exe目錄,開啟命令列工具,用命令 啟動/關閉/重啟nginx 
start nginx : 啟動nginx
nginx -s reload  :修改配置後重新載入生效
nginx -s reopen  :重新開啟日誌檔案
nginx -t -c /path/to/nginx.conf 測試nginx配置檔案是否正確
關閉nginx:
nginx -s stop  :快速停止nginx
nginx -s quit  :完整有序的停止nginx