我已经配置了一个Docker容器来运行Nginx并设置/ etc / nginx / sites-available / default文件,如下所示
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } server { listen 443; root /usr/share/nginx/html; index index.php index.html index.htm; server_name example.com; ssl on; ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; location / { try_files $uri $uri/ /index.html; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
运行docker容器时,我在主机上映射了/ etc / ssl / certs和/ etc / ssl / private文件夹
docker run -dt -p 8080:443 -p 8081:80 -v /t-base/log:/var/log/nginx -v /etc/ssl/certs:/etc/ssl/certs -v /etc/ssl/private:/etc/ssl/private nginx Docker ps shows Up n minutes 0.0.0.0:8081->80/tcp 0.0.0.0:8080->443/tcp <container-name>
并且映射的/ t-base / log文件夹中的nginx错误日志文件保持为空。
docker exec -it <container-name> /bin/bash
其次是
service nginx status
刚回来并说nginx正在运行。
以上所有内容都表明一切正常。但是,我发现虽然可以浏览到
http://example.com:8080
打开默认页面
https://example.com:8081
Chrome浏览器向我显示了其默认的“悲伤笑脸”错误页面。我看不到我在做什么错。非常感谢您的帮助。
您已互换端口。根据此命令行-p 8080:443 -p 8081:80,您应该执行以下操作:
-p 8080:443 -p 8081:80
https://example.com:8080注意,这是http 小号
https://example.com:8080
和
http://example.com:8081
这应该工作