檔案
Docker 運行命令: docker run -itd -p 8080:80 prod
FROM node:16-alpine as builder
WORKDIR /app
COPY package.json ./
COPY package-lock.json ./
COPY . /app/
RUN npm install --silent
RUN npm install [email protected] -g --silent
RUN npm run build
# production environment
FROM nginx:1.21.1-alpine
COPY --from=builder /app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
defalut.conf 檔案
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/nginx/sites-available/cert.crt;
ssl_certificate_key /etc/nginx/sites-available/ssl.key;
server_name ipaddress;
location / {
proxy_pass http://localhost:8080;
try_files $uri /index.html;
}
我無法在 https 中看到在我的 ip 地址上運行的 index.html 檔案。它與http://ipaddress:8080. 以上是DockerFile & default.conf 檔案的組態檔。服務器日志中沒有顯示任何內容。
我想知道上面的配置是否正確或esle如何使用Docker & SSL & Nginx部署react-app
uj5u.com熱心網友回復:
通過查看您的評論,您的埠配置似乎不正確,在 NginX 埠偵聽設定為偵聽 port 443,但您的 docker 埠配置使用 port80作為主機埠。假設 Node 服務器正在監聽埠8080,docker run 應該是這樣的
$ docker run -itd -p 443:443 prod
并嘗試https://ipaddress,根據證書設定,您應該在瀏覽器中看到警告(如果證書不被完全信任,您可能需要將其添加為例外),或者看到正確的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/354591.html
標籤:码头工人 nginx docker-compose 文件 ssl-证书
上一篇:三件小事~
