用Nginx配置代理,組織平滑環境,讓前端專注開發
日常工作中經常遇到這樣的場景,後端是多個團隊協作的。開發、除錯、測試環境可能都不同,但是最後部署是一體的。
Nginx可以很好解決此類問題,並輔助前端開發過程中,實現mock到真實環境的無縫切換。下面一一個例項,為大家呈現下:
1、瞭解後端提供的各類介面,相關地址。收集到如下列表。
No | 服務 | 開發團隊 | VPN | 域名 | 協議 | 路徑 |
1 | Account | 合作伙伴1 | YES | 10.1.1.1:8081 | http | /account |
2 | User | 已經系統 | NO | dev.company.net:8080 | https | /user/ |
3 | Order | 後端團隊 | NO | 172.2.16.8:8080 | http | /order/ |
4 | Static | 前端團隊 | NO | 192.168.0.2 | http | /htdocs/ |
2、明確最終部署時,所有服務都在一個域名下工作。但是這個域名並沒有確定下來。
先暫定此域名為 : oss.cloud.net , 程式碼中不要出現絕對路徑
3、配置nginx,這裡涉及到https,估計後面都會使用https。為避免頁面跳轉,統一使用https配置nginx。指令碼如下:
server {
listen 31008 ssl;
#listen 443 ssl;
ssl_certificate server.pem;
ssl_certificate_key server.key;
ssl_password_file pwd.txt;
server_name cloud.company.net;
location /htdocs/ {
ssi on;
ssi_silent_errors on;
ssi_types text/shtml;
# local debug no cache
add_header Cache-Control no-cache;
add_header Pragma no-cache;
add_header Expires 0;
root /opt/htdocs/;
index index.html index.htm;
}
location /user/ {
proxy_pass https://dev.company.net:8080/;
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_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#proxy_ssl_ciphers HIGH:!aNULL:!MD5;
#proxy_ssl_verify on;
#proxy_ssl_verify_depth 2;
#proxy_ssl_session_reuse on;
}
location /account/ {
proxy_pass http://10.1.1.1:8081/account/;
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_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#proxy_ssl_ciphers HIGH:!aNULL:!MD5;
#proxy_ssl_verify on;
#proxy_ssl_verify_depth 2;
#proxy_ssl_session_reuse on;
}
location /order/ {
proxy_pass http://172.2.16.8/order/;
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_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#proxy_ssl_ciphers HIGH:!aNULL:!MD5;
#proxy_ssl_verify on;
#proxy_ssl_verify_depth 2;
#proxy_ssl_session_reuse on;
}
}
4、使用vpn登入account要求的環境。即可愉快的開始除錯了。
以上就是完整的步驟。如果不知曉如何建立server.pem,server.key。 可參考https://blog.csdn.net/gycommunicate/article/details/2585179
相關文章
- Nginx開發環境跨域配置Nginx開發環境跨域
- vue-cli開發環境代理配置Vue開發環境
- 生產環境nginx平滑升級演示Nginx
- 利用nginx 配置vue多專案環境NginxVue
- Java配置17-配置Nginx代理多個前端專案JavaNginx前端
- Nginx 反向代理實現線上測試環境(微信開發類專案)Nginx
- NGINX生產環境反向代理到後端tomcat配置Nginx後端Tomcat
- Centos7下配置PHP + MySQL + Nginx開發環境CentOSPHPMySqlNginx開發環境
- GoLand編譯器配置代理和專案環境配置GoLand編譯
- 開發環境配置開發環境
- emacs開發環境配置(4)——rust開發環境Mac開發環境Rust
- Nginx部署前端環境(Mac)Nginx前端Mac
- 配置開發環境、生成環境、測試環境開發環境
- 從零開始配置基本的前端開發環境(windows)前端開發環境Windows
- 前端開發環境搭建前端開發環境
- django2專案環境開發基本配置Django
- Ubuntu開發環境配置Ubuntu開發環境
- Java開發環境配置Java開發環境
- Arduino開發環境配置UI開發環境
- js開發環境配置JS開發環境
- react 配置開發環境React開發環境
- weex開發環境配置開發環境
- 用 vscode 配置 java 開發環境發 qq 郵件VSCodeJava開發環境
- Vscode配置golang開發環境VSCodeGolang開發環境
- Android Studio配置開發環境Android開發環境
- MacOS 配置 Flutter 開發環境MacFlutter開發環境
- MacOS PHP 開發環境配置MacPHP開發環境
- Docker配置PHP開發環境DockerPHP開發環境
- VSCode Python開發環境配置VSCodePython開發環境
- VSCode配置JAVA開發環境VSCodeJava開發環境
- Mac 基本開發環境配置Mac開發環境
- 開發環境配置 - Linux(Ubuntu)開發環境LinuxUbuntu
- (二) electron 開發環境配置開發環境
- Nginx專題(1):Nginx之反向代理及配置Nginx
- 安裝Nginx+Lua開發環境Nginx開發環境
- 專案開發中的pro、pre、test、dev環境及SpringBoot多環境配置devSpring Boot
- [ 從零開始配置一個 Windows 前端開發環境 ] - 二:vscodeWindows前端開發環境VSCode
- Jenkins +nginx 搭建前端構建環境JenkinsNginx前端